VERSION=<new version>
(including av
at the start)- Update version in
Cargo.toml
. - Run
cargo build
to updateCargo.lock
. - Add changes since last release to
CHANGELOG.md
. (You should do this with every commit!)- Update the top of the CHANGELOG to say the new version number with
the release date, then start a new section for
main
- Update the top of the CHANGELOG to say the new version number with
the release date, then start a new section for
- Commit all changes with commit message:
vX.Y.Z Release
- Tag commit and push it to GitHub:
git tag $VERSION && git push origin $VERSION
- Publish new version to crates.io:
cargo publish
- Generate new binaries:
- macOS:
cargo build --release
cd target/release
zip -r -X jless-$VERSION-x86_64-apple-darwin.zip jless
- Linux:
- Make sure you can cross-compile for Linux:
brew tap SergioBenitez/osxct
brew install x86_64-unknown-linux-gnu
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-unknown-linux-gnu-gcc cargo build --release --target=x86_64-unknown-linux-gnu
cd target/x86_64-unknown-linux-gnu/release
zip -r -X jless-$VERSION-x86_64-unknown-linux-gnu.zip target/x86_64-unknown-linux-gnu/release/jless
- Make sure you can cross-compile for Linux:
- macOS:
- Create GitHub release
- Click "Create new release"
- Select tag
- Copy stuff from
CHANGELOG.md
to description - Attach binaries generated above
- Update the
website
branch- Update
releases_page.rb
with the new release - Update
user_guide_page.rb
with any new commands
- Update