diff --git a/Makefile b/Makefile index 04e512283dee2928719c6c9f2dc7de586dc9304d..4af2e6c9d390f7046010a0dbc58553156dfd7064 100644 --- a/Makefile +++ b/Makefile @@ -24,17 +24,7 @@ BACKPORTS_BASE_FILE := $(BACKPORTS_BASE_DIR)/Base.gitlab-ci.yml # make it the standard `sed` binary (if you wish) or temporarily alias sed=gsed backports: @mkdir -p $(BACKPORTS_BASE_DIR) - @echo 'variables:' > $(BACKPORTS_BASE_FILE) - @echo ' # OpenTofu CI/CD component version, see https://gitlab.com/components/opentofu/-/releases' >> $(BACKPORTS_BASE_FILE) - @echo ' VERSION: "0.1.0-alpha4"' >> $(BACKPORTS_BASE_FILE) - @echo ' # Compatible OpenTofu version, see https://gitlab.com/components/opentofu/-/releases' >> $(BACKPORTS_BASE_FILE) - @echo ' OPENTOFU_VERSION: "1.6.0"' >> $(BACKPORTS_BASE_FILE) - @echo ' # Job Image with `gitlab-tofu`' >> $(BACKPORTS_BASE_FILE) - @echo ' GITLAB_OPENTOFU_IMAGE: registry.gitlab.com/components/opentofu/gitlab-opentofu:$$VERSION-opentofu$$OPENTOFU_VERSION' >> $(BACKPORTS_BASE_FILE) - @echo ' # The relative path to the root directory of the OpenTofu project' >> $(BACKPORTS_BASE_FILE) - @echo ' TF_ROOT: $${CI_PROJECT_DIR}' >> $(BACKPORTS_BASE_FILE) - @echo ' # The name of the state file used by the GitLab Managed Terraform state backend' >> $(BACKPORTS_BASE_FILE) - @echo ' TF_STATE_NAME: default' >> $(BACKPORTS_BASE_FILE) + @cp $(BACKPORTS_DIR)/.Base.gitlab-ci.yml $(BACKPORTS_BASE_FILE) @sed '1,/^---$$/d' templates/full-pipeline.yml >> $(BACKPORTS_BASE_FILE) @sed -i $(BACKPORTS_BASE_FILE) -e 's/$$\[\[ inputs.stage_validate \]\]/validate/' @sed -i $(BACKPORTS_BASE_FILE) -e 's/$$\[\[ inputs.stage_build \]\]/build/' diff --git a/backports/.Base.gitlab-ci.yml b/backports/.Base.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..0fd8aa718bac8aaae7d7df805f17c6086b403a8f --- /dev/null +++ b/backports/.Base.gitlab-ci.yml @@ -0,0 +1,25 @@ +# This template is a port of the OpenTofu CI/CD component at +# https://gitlab.com/components/opentofu +# It is generated with the `make backports` command from that project. +# +# Please make sure to use the component when your project is hosted on GitLab.com +# or when you are willing to mirror the component project into your self-managed +# instance and use it from there. +# +# Attention: This template will be removed in favor of the OpenTofu CI/CD component as soon as components +# are available for self-managed instances. +# +# This specific template is located at: +# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/OpenTofu/Base.gitlab-ci.yml + +variables: + # OpenTofu CI/CD component version, see https://gitlab.com/components/opentofu/-/releases + VERSION: "0.1.0-alpha4" + # Compatible OpenTofu version, see https://gitlab.com/components/opentofu/-/releases + OPENTOFU_VERSION: "1.6.0" + # Job Image with `gitlab-tofu` + GITLAB_OPENTOFU_IMAGE: registry.gitlab.com/components/opentofu/gitlab-opentofu:$$VERSION-opentofu$$OPENTOFU_VERSION + # The relative path to the root directory of the OpenTofu project + TF_ROOT: $${CI_PROJECT_DIR} + # The name of the state file used by the GitLab Managed Terraform state backend + TF_STATE_NAME: default diff --git a/backports/OpenTofu/Base.gitlab-ci.yml b/backports/OpenTofu/Base.gitlab-ci.yml index 8fc6e5ae97c0e46a3c1712c91e0bf08fcc013a68..b03554cc11402381d3392692d90f358c676bf2a6 100644 --- a/backports/OpenTofu/Base.gitlab-ci.yml +++ b/backports/OpenTofu/Base.gitlab-ci.yml @@ -1,12 +1,26 @@ +# This template is a port of the OpenTofu CI/CD component at +# https://gitlab.com/components/opentofu +# It is generated with the `make backports` command from that project. +# +# Please make sure to use the component when your project is hosted on GitLab.com +# or when you are willing to mirror the component project into your self-managed +# instance and use it from there. +# +# Attention: This template will be removed in favor of the OpenTofu CI/CD component as soon as components +# are available for self-managed instances. +# +# This specific template is located at: +# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/OpenTofu/Base.gitlab-ci.yml + variables: # OpenTofu CI/CD component version, see https://gitlab.com/components/opentofu/-/releases VERSION: "0.1.0-alpha4" # Compatible OpenTofu version, see https://gitlab.com/components/opentofu/-/releases OPENTOFU_VERSION: "1.6.0" # Job Image with `gitlab-tofu` - GITLAB_OPENTOFU_IMAGE: registry.gitlab.com/components/opentofu/gitlab-opentofu:$VERSION-opentofu$OPENTOFU_VERSION + GITLAB_OPENTOFU_IMAGE: registry.gitlab.com/components/opentofu/gitlab-opentofu:$$VERSION-opentofu$$OPENTOFU_VERSION # The relative path to the root directory of the OpenTofu project - TF_ROOT: ${CI_PROJECT_DIR} + TF_ROOT: $${CI_PROJECT_DIR} # The name of the state file used by the GitLab Managed Terraform state backend TF_STATE_NAME: default