4# Release Process
- Merge all PRs intended for the release.
- Rebase latest remote main branch locally (
git pull --rebase origin main
). - Ensure all analysis checks and tests are passing (
TEST_PARALLELISM=8 make testacc
). - Run
go mod vendor
andmake goreleaser GORELEASER_ARGS="--snapshot --skip=validate --clean"
. - Open a new PR to update CHANGELOG (example)1.
- 🚨 Ensure any removals are considered a BREAKING CHANGE and must be published in a major release.
- Merge CHANGELOG.
- Rebase latest remote main branch locally (
git pull --rebase origin main
)2. - Tag a new release (
tag=vX.Y.Z && git tag -s $tag -m $tag && git push $(git config branch.$(git symbolic-ref -q --short HEAD).remote) $tag
)3. - Copy/paste CHANGELOG into the draft release.
- Publish draft release4.
- We utilize semantic versioning and only include relevant/significant changes within the CHANGELOG.
- 🚨 Manually update generated
docs/index.md
and force push (as we're not able to update the git tag until the next step). - Triggers a github action that produces a 'draft' release.
- Triggers a github webhook that produces a release on the terraform registry.