diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dfe8e25b4d..82c9a12b03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,5 @@ name: 'New Release' -run-name: 'Release ${{ inputs.version_number }} (skip tests: ${{ inputs.skip_tests }}, use existing tag: ${{ inputs.use_existing_tag}})' +run-name: 'Release Test ${{ inputs.version_number }} (skip tests: ${{ inputs.skip_tests }}, use existing tag: ${{ inputs.use_existing_tag}})' # Used for creating a new release. This workflow will run qa acceptance tests, create a new tag, and generate the release with GoReleaser. on: @@ -31,115 +31,12 @@ jobs: echo "is_official_release=$(if echo '${{ inputs.version_number }}' | grep -q 'pre'; then echo 'false'; else echo 'true'; fi)" echo "runs_tests=$(if [ '${{ inputs.skip_tests }}' = 'true' ]; then echo 'false'; else echo 'true'; fi)" } >> "$GITHUB_OUTPUT" - - validate-version-input: - runs-on: ubuntu-latest - steps: - - name: Validation of version format - run: | - echo "${{ inputs.version_number }}" | grep -P '^v\d+\.\d+\.\d+(-pre[A-Za-z0-9-]*)?$' - - update-examples-reference-in-docs: - needs: [ release-config, validate-version-input ] - if: >- - !cancelled() - && !contains(needs.*.result, 'failure') - && needs.release-config.outputs.creates_new_tag == 'true' - && needs.release-config.outputs.is_official_release == 'true' - uses: ./.github/workflows/run-script-and-commit.yml - with: - script_call: './scripts/update-examples-reference-in-docs.sh ${{inputs.version_number}}' - file_to_commit: 'website/docs/index.html.markdown' - commit_message: 'Update examples link in index.html.markdown for ${{ github.event.inputs.version_number }} release' - secrets: - apix_bot_pat: ${{ secrets.APIX_BOT_PAT }} - remote: https://svc-apix-bot:${{ secrets.APIX_BOT_PAT }}@github.com/${{ github.repository }} - gpg_private_key: ${{ secrets.APIX_BOT_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.APIX_BOT_PASSPHRASE }} - - update-changelog-header: - needs: [ release-config, validate-version-input, update-examples-reference-in-docs ] - if: >- - !cancelled() - && !contains(needs.*.result, 'failure') - && needs.release-config.outputs.creates_new_tag == 'true' - && needs.release-config.outputs.is_official_release == 'true' - uses: ./.github/workflows/run-script-and-commit.yml - with: - script_call: './scripts/update-changelog-header-for-release.sh ${{inputs.version_number}}' - file_to_commit: 'CHANGELOG.md' - commit_message: 'Update CHANGELOG.md header for ${{ github.event.inputs.version_number }} release' - secrets: - apix_bot_pat: ${{ secrets.APIX_BOT_PAT }} - remote: https://svc-apix-bot:${{ secrets.APIX_BOT_PAT }}@github.com/${{ github.repository }} - gpg_private_key: ${{ secrets.APIX_BOT_GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.APIX_BOT_PASSPHRASE }} - - create-tag: - runs-on: ubuntu-latest - needs: [ release-config, validate-version-input, update-examples-reference-in-docs, update-changelog-header ] - if: >- - !cancelled() - && !contains(needs.*.result, 'failure') - && needs.release-config.outputs.creates_new_tag == 'true' - steps: - - name: Checkout - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - with: - ref: 'master' - - name: Get the latest commit SHA - id: get-sha - run: echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT" - - name: Create release tag - uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72 - with: - tag: ${{ inputs.version_number }} - commit_sha: ${{ steps.get-sha.outputs.sha }} - gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} - gpg_passphrase: ${{ secrets.PASSPHRASE }} - - run-qa-acceptance-tests: - needs: [ release-config, validate-version-input, update-examples-reference-in-docs, update-changelog-header, create-tag ] - if: >- - !cancelled() - && !contains(needs.*.result, 'failure') - && needs.release-config.outputs.runs_tests == 'true' - secrets: inherit - uses: ./.github/workflows/acceptance-tests.yml - with: - atlas_cloud_env: "qa" - ref: ${{ inputs.version_number }} release: runs-on: ubuntu-latest - needs: [ validate-version-input, update-examples-reference-in-docs, update-changelog-header, create-tag, run-qa-acceptance-tests ] - # Release is skipped if there are failures in previous steps - if: >- - !cancelled() - && !contains(needs.*.result, 'failure') steps: - name: Checkout uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - with: - ref: ${{ inputs.version_number }} - - name: Set up Go - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 - with: - go-version-file: 'go.mod' - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 - with: - gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.PASSPHRASE }} - - name: Run GoReleaser - uses: goreleaser/goreleaser-action@7ec5c2b0c6cdda6e8bbb49444bc797dd33d74dd8 - with: - version: latest - args: release --rm-dist - env: - GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jira-release-version: needs: [ release-config, release ]