brew update
brew install keybase
- Start a new branch from
origin/main
namedrelease/<new version>
- Edit
CHANGELOG.md
to set the correct version number. - Create
Release Notes/<new version>.md
to draft the release notes. - Update the version number in
elm-format.cabal
. - If this is a stable release, update references to the version in
README.md
. - Update
ElmFormat.Version.experimental
toJust <survey URL>
for experimental versions andNothing
otherwise. (cd package/npm && npm version "<new version>")
- Commit the changes "Bump version to <new version>"
- Create a signed tag for the new version.
git tag -s <new version> -m <new version>
- Push the tag.
git push origin <new version>
- Wait for CI to successfully build the tag.
- Pushing the tag should have triggered a build at https://github.com/avh4/elm-format/actions?query=workflow%3A%22Build+release%22
- Download the artifacts from the successful build (keep them as zip files), and put them in
downloads/
- Make sure you have Docker installed and running
- The binaries will be built automatically in the next section
- Run
./build.sh publish-<new version>
- Go to the release page for the new tag on github.
- Enter the contents of
Release Notes/<new version>.md
as the release notes. - Upload the zip, tgz and asc files.
- Publish the release.
cd package/npm
npm install
# for experimental releases
# npm publish --tag exp
npm publish
npm dist-tag add elm-format@<new version> exp
npm dist-tag add elm-format@<new version> latest-0.18.0
npm dist-tag add elm-format@<new version> latest-0.19.0
npm dist-tag add elm-format@<new version> latest-0.19.1
cd package/nix
./build.sh
Then cd nixpkgs
, push the resulting branch, and make a PR to https://github.com/NixOS/nixpkgs with the title "elm-format: <old version> -> <new version>
"
- Create and merge a PR for the
release/<new version>
branch - Delete the
release/<new version>
branch