mirror of
https://github.com/BurntSushi/ripgrep.git
synced 2025-05-19 01:30:21 -07:00
1.7 KiB
1.7 KiB
Release Checklist
- Run
cargo update
and review dependency updates. Commit updatedCargo.lock
. - Run
cargo outdated
and review semver incompatible updates. Unless there is a strong motivation otherwise, review and update every dependency. - Review changes for every crate in
crates
since the last ripgrep release. If the set of changes is non-empty, issue a new release for that crate. Check crates in the following order. After updating a crate, ensure minimal versions are updated as appropriate in dependents. If an update is required, runcargo-up --no-push crates/{CRATE}/Cargo.toml
.- crates/globset
- crates/ignore
- crates/cli
- crates/matcher
- crates/regex
- crates/pcre2
- crates/searcher
- crates/printer
- crates/grep (bump minimal versions as necessary)
- crates/core (do not bump version, but update dependencies as needed)
- Edit the
Cargo.toml
to set the new ripgrep version. Runcargo update -p ripgrep
so that theCargo.lock
is updated. Commit the changes. Alternatively, usecargo-up --no-push --no-release Cargo.toml {VERSION}
. - Create a new signed tag for the ripgrep release. Push it to GitHub.
- Wait for CI to finish creating the release. If the release build fails, then delete the tag from GitHub, make fixes, re-tag, delete the release and push.
- Copy the relevant section of the CHANGELOG to the tagged release notes.
- Run
ci/build-deb
locally and manually upload the deb package to the release. - Run
cargo publish
. - Run
ci/sha256-releases >> pkg/brew/ripgrep-bin.rb
. Then editpkg/brew/ripgrep-bin.rb
to update the version numbers and sha256 hashes. Remove extraneous stuff added byci/sha256-releases
. Commit changes.