#cargo-version #github #git-version #cargo-toml #tags #build #projects

bin+lib omr-bumper

An opiniated version bumper for releases. Works for us.

18 releases

0.3.16-dev Feb 25, 2025
0.3.15-alpha Feb 25, 2025
0.3.12-alpha Jan 5, 2024
0.3.11-alpha Jul 22, 2022
0.1.5-alpha Nov 30, 2021

#1184 in Command line utilities

Download history 1/week @ 2024-12-11 274/week @ 2025-02-19 224/week @ 2025-02-26

498 downloads per month

MIT license

39KB
969 lines

omr-bumper

A tool to automate version bumping and release preparation for Rust projects.

Installation

Using cargo-binstall

The easiest way to install omr-bumper is with cargo-binstall:

cargo binstall omr-bumper

Using cargo

cargo install omr-bumper

About

Does all the necessary preparation to have GitHub build a release.

  • Prepare release
    • Checks workspace/git is clean
    • Removes -dev from version, and replaces by alpha/beta/[none]
    • Update Cargo.lock cargo update --workspace --dry-run --verbose
    • Commits Cargo.toml (and other files as needed)
    • Pushes to git
    • Tags the release
    • Pushes the tag
  • Prepare to continue with development
    • Bumps the local version patch/minor/major
    • Commits Cargo.toml
    • Pushes to git

CI/CD

The project uses GitHub Actions workflows for:

  • Publishing to crates.io on tag push
  • Building binaries for multiple platforms (Linux, macOS, Windows)
  • Creating GitHub releases with change logs
  • Generating cargo-binstall metadata

Note

"revspec 'origin/HEAD' not found"

The git interface is pretty complex. For them moment we use origin/HEAD to get the "correct" refspec. If you didn't create your local repository by cloning this will not exist. You can create it via git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master. This will be fixed in a future release.

You can verify origin/HEAD exists via git show-ref.

Dependencies

~96MB
~2M SLoC