2.2 KiB
2.2 KiB
Release Checklist
- Run
cargo updateand review dependency updates. Commit updatedCargo.lock. - Run
cargo outdatedand review semver incompatible updates. Unless there is a strong motivation otherwise, review and update every dependency. - Review changes for every crate in
cratessince 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.tomlto set the new ripgrep version. Runcargo update -p ripgrepso that theCargo.lockis updated. Commit the changes and create a new signed tag. Alternatively, usecargo-up --no-push --no-release Cargo.toml {VERSION}to automate this. - 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.
Include this blurb describing what ripgrep is:
In case you haven't heard of it before, ripgrep is a line-oriented search tool that recursively searches your current directory for a regex pattern. By default, ripgrep will respect your
.gitignoreand automatically skip hidden files/directories and binary files. - Run
ci/build-deblocally and manually upload the deb package to the release. - Run
cargo publish. - Run
ci/sha256-releases {VERSION} >> pkg/brew/ripgrep-bin.rb. Then editpkg/brew/ripgrep-bin.rbto update the version number and sha256 hashes. Remove extraneous stuff added byci/sha256-releases. Commit changes.