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: