Had a conversation with @miry about the current release process and what further info we need to port from the readme to a dedicated document with release instructions.
In general, the process is similar to this:
- PREREQUISITE: Shopify employees performing releases should have their workstation configured to have their commits signed (verified). See Docs
- Prepare for the release locally.
- Update the CHANGELOG.md with 2 changes
- Add a new version header at the top of the 'unreleased' section
- Update links at bottom of changelog
- Update any version references in the README to point to the new version
- Commit this locally (and sign the commit) - Commit message should be something like
Release 2.x.x
- Create a tag locally and sign it -
git tag -s v2.x.x
- Run
make test-release locally - this will run tests and final verifications
- Push the release commit to github (either through a PR, or straight to master branch if you have permissions)
- Wait for tests to turn green after the change is on the master branch (merge your PR as necessary)
- Push your local tag to github
- Goreleaser should create the release on Github via Github Actions
- Verify release notes were generated correctly
- Update Homebrew versions
- Update app_version string
- Update hashes for all versions (find the hashes in the checksums.txt from your release notes)
- Do a manual smoketest of installing toxiproxy via brew while in the shopify-homebrew repo locally
brew install ./toxiproxy.rb --debug
Had a conversation with @miry about the current release process and what further info we need to port from the readme to a dedicated document with release instructions.
In general, the process is similar to this:
Release 2.x.xgit tag -s v2.x.xmake test-releaselocally - this will run tests and final verificationsbrew install ./toxiproxy.rb --debug