This is internal documentation, listing the step to make a new release.
- Update version number in
Cargo.toml - Run
cargo checkto propagate change toCargo.lock - Update
CHANGELOG.md:- Rename the top section from "Unreleased" to "version - date" (see previous releases for how it's supposed to look)
- Make sure significant changes are listed
- Add a reference to the release on GitHub at the bottom of the file (like for all the other releases)
- Make a commit with the above changes named "Release x.y.z"
- Push that commit to master
- Tag the commit - as it is on master - "vx.y.z"
- Make a release on GitHub: https://github.com/spacedentist/spr/releases/new
- Run
cargo publish(you might need to docargo loginfirst)
- Clone/check out current master of https://github.com/NixOS/nixpkgs
- Edit
pkgs/by-name/sp/spr/package.nix, and update the "version" field. Also, make a random change to thehashandcargoHashfields, to make sure the following nix build will not used an existing build. - Run
nix-build -A spr - There will be a hash mismatch error. Edit the nix file again and paste in the correct hash from the build error.
- Run
nix-build -A spragain - There will be another hash error, this time in the
cargoHashfield. Again, edit the nix file and paste the correct hash as displayed in the build error. - Run
nix-build -A spragain - If there are any more build errors, fix them and build again.
- Once the build completes without errors, continue with the below.
- Make a git commit with the change in the nix file. Commit message: "spr: old-version -> new-version", e.g. "spr 1.3.2 -> 1.3.3".
- Push the commit to GitHub (probably as the master branch of a nixpkgs fork) and submit a pull request to upstream. Example: NixOS/nixpkgs#179332
- Check in with the pull request and make sure it gets merged.
- Example PR: Homebrew/homebrew-core#221792
- Typically, only
urlandsha256need to be updated inFormula/s/spr.rb- the BrewTestBot will automatically add a commit to the PR updating the "bottle" section
- Bump the version number in
Cargo.tomland add-beta.1suffix - Run
cargo checkto propagate change toCargo.lock - Add a new "Unreleased" section at the top of
CHANGELOG.md - Make a commit with the above changes named "Start next development cycle"
- Push that commit to master - the last release commit should be the direct parent