PageRenderTime 60ms CodeModel.GetById 1ms RepoModel.GetById 0ms app.codeStats 0ms

/RELEASE-CHECKLIST.md

https://github.com/BurntSushi/ripgrep
Markdown | 42 lines | 41 code | 1 blank | 0 comment | 0 complexity | ed863e15f442895a235ea4639964fff7 MD5 | raw file
Possible License(s): MIT, Unlicense
  1. Release Checklist
  2. -----------------
  3. * Run `cargo update` and review dependency updates. Commit updated
  4. `Cargo.lock`.
  5. * Run `cargo outdated` and review semver incompatible updates. Unless there is
  6. a strong motivation otherwise, review and update every dependency.
  7. * Review changes for every crate in `crates` since the last ripgrep release.
  8. If the set of changes is non-empty, issue a new release for that crate. Check
  9. crates in the following order. After updating a crate, ensure minimal
  10. versions are updated as appropriate in dependents. If an update is required,
  11. run `cargo-up --no-push crates/{CRATE}/Cargo.toml`.
  12. * crates/globset
  13. * crates/ignore
  14. * crates/cli
  15. * crates/matcher
  16. * crates/regex
  17. * crates/pcre2
  18. * crates/searcher
  19. * crates/printer
  20. * crates/grep (bump minimal versions as necessary)
  21. * crates/core (do **not** bump version, but update dependencies as needed)
  22. * Edit the `Cargo.toml` to set the new ripgrep version. Run
  23. `cargo update -p ripgrep` so that the `Cargo.lock` is updated. Commit the
  24. changes and create a new signed tag. Alternatively, use
  25. `cargo-up --no-push --no-release Cargo.toml {VERSION}` to automate this.
  26. * Wait for CI to finish creating the release. If the release build fails, then
  27. delete the tag from GitHub, make fixes, re-tag, delete the release and push.
  28. * Copy the relevant section of the CHANGELOG to the tagged release notes.
  29. Include this blurb describing what ripgrep is:
  30. > In case you haven't heard of it before, ripgrep is a line-oriented search
  31. > tool that recursively searches your current directory for a regex pattern.
  32. > By default, ripgrep will respect your `.gitignore` and automatically skip
  33. > hidden files/directories and binary files.
  34. * Run `ci/build-deb` locally and manually upload the deb package to the
  35. release.
  36. * Run `cargo publish`.
  37. * Run `ci/sha256-releases {VERSION} >> pkg/brew/ripgrep-bin.rb`. Then edit
  38. `pkg/brew/ripgrep-bin.rb` to update the version number and sha256 hashes.
  39. Remove extraneous stuff added by `ci/sha256-releases`. Commit changes.
  40. Note that
  41. [`cargo-up` can be found in BurntSushi's dotfiles](https://github.com/BurntSushi/dotfiles/blob/master/bin/cargo-up).