mirror of
				https://github.com/BurntSushi/ripgrep.git
				synced 2025-10-30 23:17:47 +02:00 
			
		
		
		
	
		
			
				
	
	
	
		
			2.8 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.8 KiB
		
	
	
	
	
	
	
	
Release Checklist
- Ensure local masteris up to date with respect toorigin/master.
- 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. Also run--aggressive, but don't update to crates that are still in beta.
- 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)
 
- Update the CHANGELOG as appropriate.
- 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.
- Push changes to GitHub, NOT including the tag. (But do not publish new version of ripgrep to crates.io yet.)
- Once CI for masterfinishes successfully, push the version tag. (Trying to do this in one step seems to result in GitHub Actions not seeing the tag push and thus not running the release workflow.)
- 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 the current directory for a regex pattern. By default, ripgrep will respect gitignore rules and 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.
- Add TBD section to the top of the CHANGELOG:
TBD === Unreleased changes. Release notes have not yet been written.