github.com/fastly/go-fastly@v1.18.0/RELEASE.md (about) 1 ### How to cut a new release for the go-fastly HTTP client 2 This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html); therefore first determine the appropriate version tag based on the change set. If in doubt discuss with the team via Slack before releasing. 3 4 1. Merge all PRs intended for the release into the `master` branch 5 1. Checkout and update the master branch and ensure all tests are passing: 6 * `git checkout master` 7 * `git pull` 8 * `make test` 9 1. Update the [`CHANGELOG.md`](https://github.com/fastly/go-fastly/blob/master/CHANGELOG.md): 10 * Apply necessary labels (`enchancement`, `bug`, `documentation` etc) to all PRs intended for the release that you wish to appear in the `CHANGELOG.md` 11 * **Only add labels for relevant changes** 12 * `git checkout -b vX.Y.Z` where `vX.Y.Z` is your target version tag 13 * `CHANGELOG_GITHUB_TOKEN=xxxx SEMVER_TAG=vX.Y.Z make changelog` 14 * **Known Issue**: We've found that the diffs generated are non-deterministic. Just re-run `make changelog` until you get a diff with just the newest additions. For more details, visit [this link](https://github.com/github-changelog-generator/github-changelog-generator/issues/580#issuecomment-380952266). 15 * `git add CHANGELOG.md && git commit -m "vX.Y.Z"` 16 1. Bump the project version in fastly/client.go 17 1. Send PR for the `CHANGELOG.md` and `client.go` changes. 18 1. Once approved and merged, checkout and update the `master` branch: 19 * `git checkout master` 20 * `git pull` 21 1. Create a new tag for `master`: 22 * `git tag -s vX.Y.Z -m "vX.Y.Z"` 23 1. Push the new tag: 24 * `git push upstream vX.Y.Z` 25 1. Under the repository name, click [Releases](https://github.com/fastly/go-fastly/releases) 26 1. Click [Draft a new release](https://github.com/fastly/go-fastly/releases/new) 27 * Select the new tag for the tag version 28 * Use the format: `vX.Y.Z - yyyy-mm-dd` for the release title 29 * Run the following and paste the output in the release description. 30 * `make release-changelog` 31 * `cat RELEASE_CHANGELOG.md | pbcopy && rm -rf RELEASE_CHANGELOG.md` 32 1. Click Publish release 33 1. Celebrate :tada: