VERSION=<new version>(including avat the start)- Update version in
Cargo.toml. - Run
cargo buildto 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 --releasecd target/releasezip -r -X jless-$VERSION-x86_64-apple-darwin.zip jless
- Linux:
- Make sure you can cross-compile for Linux:
brew tap SergioBenitez/osxctbrew 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-gnucd target/x86_64-unknown-linux-gnu/releasezip -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.mdto description - Attach binaries generated above
- Update the
websitebranch- Update
releases_page.rbwith the new release - Update
user_guide_page.rbwith any new commands
- Update