github.com/fastly/go-fastly/v6@v6.8.0/RELEASE.md (about) 1 # Release Process 2 3 1. Merge all PRs intended for the release. 4 2. Rebase latest remote main branch locally (`git pull --rebase origin main`). 5 3. Ensure all analysis checks and tests are passing (`make all`). 6 4. Open a new PR to update CHANGELOG ([example](https://github.com/fastly/go-fastly/pull/272))<sup>[1](#note1),[2](#note2),[3](#note3)</sup>. 7 5. Merge CHANGELOG. 8 6. Rebase latest remote main branch locally (`git pull --rebase origin main`). 9 7. Tag a new release (`tag=vX.Y.Z && git tag -s $tag -m "$tag" && git push origin $tag`). 10 8. Copy/paste CHANGELOG into a new [draft release](https://github.com/fastly/go-fastly/releases)<sup>[4](#note4)</sup>. 11 9. Publish draft release. 12 10. Communicate the release in the relevant Slack channels<sup>[5](#note5)</sup>. 13 14 ## Footnotes 15 16 1. <a name="note1"></a>We utilize [semantic versioning](https://semver.org/) and only include relevant/significant changes within the CHANGELOG. 17 2. <a name="note2"></a>Also bump `ProjectVersion` in `fastly/client.go`. 18 3. <a name="note3"></a>If a major version change, then update references to the version in `go.mod` and `README.md`. 19 4. <a name="note4"></a>Use the format: `vX.Y.Z - yyyy-mm-dd` for the release title. 20 5. <a name="note5"></a>Fastly make internal announcements in the Slack channels: `#api-clients`, `#ecp-languages`.