- Merge all PRs intended for the release.
- Ensure any relevant
FIXME
notes in the code are addressed (e.g.FIXME: remove this feature before next major release
). - Rebase latest remote main branch locally (
git pull --rebase origin main
). - Ensure all analysis checks and tests are passing (
time TEST_COMPUTE_INIT=1 TEST_COMPUTE_BUILD=1 TEST_COMPUTE_DEPLOY=1 make all
). - Ensure goreleaser builds locally (
make release GORELEASER_ARGS="--snapshot --skip=validate --skip=post-hooks --clean"
). - Open a new PR to update CHANGELOG (example)1.
- Merge CHANGELOG.
- Rebase latest remote main branch locally (
git pull --rebase origin main
). - Tag a new release (
tag=vX.Y.Z && git tag -s $tag -m "$tag" && git push origin $tag
)2. - Copy/paste CHANGELOG into the draft release.
- Publish draft release.
- We utilize semantic versioning and only include relevant/significant changes within the CHANGELOG (be sure to document changes to the app config if
config_version
has changed, and if any breaking interface changes are made to the fastly.toml manifest those should be documented on https://fastly.com/documentation/developers). - Triggers a github action that produces a 'draft' release.