Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

bump2version drop-in-replacement for cargo (WIP)
https://github.com/romnn/cargo-bumpversion

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

Last synced: about 2 months ago
JSON representation

bump2version drop-in-replacement for cargo (WIP)

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)
[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
```

For usage instructions, please refer to [the Python version](https://github.com/c4urself/bump2version).

#### Library usage

TODO

#### TODO

- add a git2 backend and make the tests into macros
- add the versioning functions
- add the config file parsing
- add the main CLI loop