diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 84c9dda952..a7164badd9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,8 @@ on: required: true skip_tests: description: 'Skip QA acceptance tests, define value to `true` to explicitly skip' + use_existing_tag: + description: 'Set value to `true` to use an existing tag for this release version, default is `false`' jobs: @@ -28,6 +30,7 @@ jobs: uses: ./.github/workflows/acceptance-tests.yml with: atlas_cloud_env: "qa" + ref: ${{ inputs.use_existing_tag == 'true' && inputs.version_number || github.ref }} release: runs-on: ubuntu-latest @@ -36,14 +39,17 @@ jobs: steps: - name: Checkout uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 + with: + ref: ${{ inputs.use_existing_tag == 'true' && inputs.version_number || github.ref }} - name: Unshallow run: git fetch --prune --unshallow - name: Create release tag - uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72 # will fail if existing tag is present + uses: rickstaa/action-create-tag@a1c7777fcb2fee4f19b0f283ba888afa11678b72 with: tag: ${{ inputs.version_number }} gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} gpg_passphrase: ${{ secrets.PASSPHRASE }} + tag_exists_error: ${{ inputs.use_existing_tag != 'true' }} - name: Set up Go uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 with: diff --git a/RELEASING.md b/RELEASING.md index c9664cb847..983f2a1a5c 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -15,6 +15,7 @@ We pre-release the provider to make for testing purpose. **A Pre-release is not - Using our [Release GitHub Action](https://github.com/mongodb/terraform-provider-mongodbatlas/actions/workflows/release.yml) run a new workflow using `master` and the following inputs: - Version number: vX.Y.Z-pre - Skip QA acceptance tests: Should be left empty. Only used in case failing tests have been encountered in QA and the team agrees the release can still de done, or successful run of QA acceptance tests has already been done with the most recent changes. + - Using an existing tag: Should be left empty (default `false` creates a new tag from `master`). This should be set to `true` only if you want to re-use an existing tag for the release and the tag name should adhere to our version number format. - You will see the release in the [GitHub Release page](https://github.com/mongodb/terraform-provider-mongodbatlas/releases) once the [release action](.github/workflows/release.yml) has completed.