An open API service indexing awesome lists of open source software.

https://github.com/romnn/cargo-bumpversion

bump2version drop-in-replacement written in Rust
https://github.com/romnn/cargo-bumpversion

bump2version bumpversion cargo cargo-subcommand ci-cd cli releases rust semver versioning

Last synced: 7 months ago
JSON representation

bump2version drop-in-replacement written in Rust

Awesome Lists containing this project

README

          

## bumpversion

[build status](https://github.com/romnn/cargo-bumpversion/actions/workflows/build.yaml)
[test status](https://github.com/romnn/cargo-bumpversion/actions/workflows/test.yaml)
[![dependency status](https://deps.rs/repo/github/romnn/cargo-bumpversion/status.svg)](https://deps.rs/repo/github/romnn/cargo-bumpversion)
[crates.io](https://crates.io/crates/bumpversion)
[docs.rs](https://docs.rs/taski)

This is an improved version of the popular [callowayproject/bump-my-version](https://github.com/callowayproject/bump-my-version) (formerly [peritus/bumpversion](https://github.com/peritus/bumpversion) and [c4urself/bump2version](https://github.com/c4urself/bump2version)) written in Rust.

#### Features

- No more global `pip` installs! Easy to install via `brew`, `cargo`, or precompiled static binary.
- Fully compatible with your existing configuration in `.bumpversion.cfg`, `setup.cfg`, or `pyproject.toml`
- Also supports configuration in your `Cargo.toml`
- Additional hook system

### Improvements

The main added benefit of this library is the ability to use it as a library component for your local build and deployment scripts.

Often, people tag a new release using `bumpversion` and push a tag into CI (e.g. GitHub actions).
But what if your project requires a lot of data that is not accessible from the CI/CD host?

You could use this library to write build scripts using the pre and post hooks provided to e.g. build and package your application and upon success tag a new release to be pushed into CI for deploying the packages built.

### CLI usage

You can also just use this version as a drop-in replacement for the Python `bump2version`.

Install it with

```bash
cargo install bumpversion

# TODO:
brew install ...
```

For usage instructions, please refer to [the Python version](https://github.com/callowayproject/bump-my-version).

#### Development

```bash
cargo run -- --dir ../dir/to/a/repo/with/.bumpversion.toml --verbose --dry-run patch
```