Releases
Releases are managed with goreleaser
.
Testing
To build a test release, without publishing, (Ubuntu Linux only) first ensure
that the musl-tools
and snapcraft
packages are installed:
$ sudo apt-get install musl-tools snapcraft
Then run:
$ make test-release
Publishing
Publish a new release by creating and pushing a tag, for example:
$ git tag v1.2.3
$ git push --tags
This triggers a GitHub Action that builds and publishes archives, packages, and snaps, creates a new GitHub Release, and deploys the website.
Note
Publishing Snaps requires a SNAPCRAFT_LOGIN
repository
secret.
Snapcraft logins periodically expire. Create a new snapcraft login by
running:
$ snapcraft export-login --snaps=chezmoi --channels=stable,candidate,beta,edge --acls=package_upload -
Note
brew automation will automatically detect new releases of chezmoi within a few hours and open a pull request in github.com/Homebrew/homebrew-core to bump the version.
If needed, the pull request can be created with:
$ brew bump-formula-pr --tag=v1.2.3 chezmoi
Note
chezmoi is in Scoop's Main bucket. Scoop's automation will automatically detect new releases within a few hours.