diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a22eb796fe335cacb4322f541c87dd092524df6..d30619e0c0dddf8f3d4dae6fb628dbcdfc9ae17e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -110,10 +110,10 @@ gitlab-opentofu-image:deploy:with-opentofu-version: - crane auth login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" script: - crane copy "$GITLAB_OPENTOFU_IMAGE_NAME" "$RELEASE_IMAGE" - - 'echo "- \`$RELEASE_IMAGE\` (digest: \`$(crane digest $RELEASE_IMAGE)\`)" > image$CI_JOB_ID.txt' + - 'echo "- \`$RELEASE_IMAGE\` (digest: \`$(crane digest $RELEASE_IMAGE)\`)" > image$CI_JOB_ID.md' artifacts: paths: - - 'image*.txt' + - 'image*.md' rules: - if: $CI_COMMIT_TAG @@ -131,10 +131,10 @@ gitlab-opentofu-image:deploy:latest-with-opentofu-version: - crane auth login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" script: - crane copy "$GITLAB_OPENTOFU_IMAGE_NAME" "$RELEASE_IMAGE" - - 'echo "- \`$RELEASE_IMAGE\` (digest: \`$(crane digest $RELEASE_IMAGE)\`)" > image$CI_JOB_ID.txt' + - 'echo "- \`$RELEASE_IMAGE\` (digest: \`$(crane digest $RELEASE_IMAGE)\`)" > image$CI_JOB_ID.md' artifacts: paths: - - 'image*.txt' + - 'image*.md' rules: - if: $CI_COMMIT_TAG @@ -151,10 +151,10 @@ gitlab-opentofu-image:deploy:latest: - crane auth login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" script: - crane copy "$GITLAB_OPENTOFU_IMAGE_NAME" "$RELEASE_IMAGE" - - 'echo "- \`$RELEASE_IMAGE\` (digest: \`$(crane digest $RELEASE_IMAGE)\`)" > image$CI_JOB_ID.txt' + - 'echo "- \`$RELEASE_IMAGE\` (digest: \`$(crane digest $RELEASE_IMAGE)\`)" > image$CI_JOB_ID.md' artifacts: paths: - - 'image*.txt' + - 'image*.md' rules: - if: $CI_COMMIT_TAG parallel: @@ -166,33 +166,24 @@ gitlab-opentofu-image:deploy:latest: # If the pipeline is for a new tag with a semantic version, and all previous jobs succeed, # create the release. -.create-release: +create-release: stage: release image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: + - if: $CI_COMMIT_TAG =~ /\d+/ before_script: - apk add --update yq envsubst script: - echo "Creating release $CI_COMMIT_TAG" - AVAILABLE_OPENTOFU_VERSIONS=$(yq -r '.spec.inputs.opentofu_version.options | filter((. | test("\$.*")) == false) | .[] | "- [`" + . + "`](https://github.com/opentofu/opentofu/releases/tag/v" + . + ")"' templates/full-pipeline.yml) - export AVAILABLE_OPENTOFU_VERSIONS - - cat image*.txt | sort - - 'AVAILABLE_IMAGES=$(cat image*.txt | sort | sed -E "s/(\(digest: .*\))/\n - \1/")' + - 'AVAILABLE_IMAGES=$(cat image*.md | sort | tee images.md | sed -E "s/(\(digest: .*\))/\n - \1/")' - export AVAILABLE_IMAGES - cat .gitlab/release-template.md | envsubst > release-notes.md - -# create-release:dry-run: -# extends: .create-release -# script: -# - !reference [.create-release, script] -# - cat release-notes.md -# artifacts: -# paths: -# - release-notes.md - -create-release: - extends: .create-release - rules: - - if: $CI_COMMIT_TAG =~ /\d+/ + artifacts: + paths: + - images.md + - release-notes.md release: tag_name: $CI_COMMIT_TAG description: './release-notes.md'