- Create a
docs/changelog-v0.5.0
branch. Substitute v0.5.0 with the version you are releasing. - In
README.md
update the installation instruction (Linux and Windows) to have the new version in thecurl
command. - Add an entry to CHANGELOG.md for your version, with entries for merged PRs since the previous release. Make sure to write the doc with end-user in mind.
- Add a ToC entry at the top of CHANGELOG.md (e.g.
- [v0.5.0](#v050)
) and a compare link at the bottom of CHANGELOG.md (e.g.[v0.5.0]: https://github.com/hbagdi/deck/compare/v0.4.0...v0.5.0
). - Commit and push the branch to Github. Ensure that the Markdown is rendered correctly. Make changes as needed. The link on the version itself won't resolve correctly as the tag is not yet created.
- Open a PR against the main branch and merge the PR.
- Pull
main
and tagHEAD
with your version. In our example, we will tag itv0.5.0
:git tag v0.5.0
- Push the tag to remote (Github):
git push origin --tags
As of 1.9.0, the remaining steps are automated on tag pushes to Github. They are unnecessary unless the release job fails.
- Ensure that your
go version
is not older than indicated in the header ofgo.mod
and that you have goreleaser installed. - Run Goreleaser:
goreleaser release --rm-dist
. This will create a release in Github and upload all the artifacts. - Edit the release to remove all the commit messages as the content and instead add a link to the changelog. Refer to older releases for reference.
- Clone the Kong/homebrew-deck repo.
- Download and unpack
dist.zip
from the release job artifacts. cp <unpack directory>/deck.rb <homebrew-deck directory>/Formula/
. Make sure only version and checksum is changed and rest all is left as is.- Commit and push to master.
As of 1.9.0, these steps are automated on tag pushes to Github. They are unnecessary unless the release job fails.
Assuming you are on the TAG commit, you need to perform the following:
export TAG=$(git describe --abbrev=0 --tags)
export COMMIT=$(git rev-parse --short $TAG)
docker build --build-arg TAG=$TAG --build-arg COMMIT=$COMMIT -t kong/deck:$TAG .
docker push kong/deck:$TAG
# if also the latest release (not for a back-ported patch release):
docker tag kong/deck:$TAG kong/deck:latest
docker push kong/deck:latest