8 releases (breaking)
|0.6.0||Oct 31, 2021|
|0.5.0||Oct 31, 2021|
|0.4.0||Oct 31, 2021|
|0.3.0||Oct 31, 2021|
|0.0.1||Jun 10, 2021|
#1261 in Development tools
Did I Break It
A tooling for checking your https://crates.io library's reverse dependencies with your local version.
NOTE - Only Unix like environments are supported.
- Enable API/download retrying if request fails.
- Lean mode, which cleans up between each reverse dependency.
- Compiling via Local Repository
- Compiling via Cargo
- Unit Testing
- Issues/Feature Requests
This tool will download all the reverse dependencies from https://crates.io and attempt to compile it using a local version of your library, regardless of the version it specifies in its Cargo manifest.
This enables you to test you have not accidentally introduced any breaking changes in minor Semantic Versioning bumps. In addition you can also estimate the impact of breaking changes you might introduce.
Simply change into the directory containing your local copy of your library and execute the
If you do not want to change into the directory you can use the argument
--local-crate <local-crate> and provide the path to the local library.
Usage - Logging
log are used to provide logging.
The environment variable
RUST_LOG can be used to set the logging level.
See https://crates.io/crates/pretty_env_logger for more detailed documentation.
Compiling via Local Repository
Checkout the code repository locally, change into the repository's directory and then build via Cargo.
--release flag produces an optimised binary but takes longer to compile.
git clone firstname.lastname@example.org:DeveloperC/did_i_break_it.git cd did_i_break_it/ cargo build --release
The compiled binary is present in
Compiling via Cargo
Cargo is the Rust package manager, the
install sub-command pulls from crates.io and then compiles the binary locally, placing the compiled binary at
cargo install did_i_break_it
By default it installs the latest version at the time of execution.
You can specify a specific version to install using the
For certain environments such as CICD etc you may want to pin the version.
cargo install did_i_break_it --version 2.0.0
Rather than pinning to a specific version you can specify the major or minor version.
cargo install did_i_break_it --version ^2
Will download the latest
2.* release whether that is
The unit test suite has tests testing the crates.io API response format parsing. Cargo is used to set up and run all the unit tests.
To report an issue or request a new feature use https://gitlab.com/DeveloperC/did_i_break_it/-/issues.