#semantic-release #command-line-tool #release #cargo-registry #env-var

build semantic-release-rust

A CLI to integrate Rust into a semantic-release workflow

6 releases

1.0.0-alpha.8 Feb 6, 2021
1.0.0-alpha.7 Oct 14, 2020
1.0.0-alpha.6 Sep 26, 2020
1.0.0-alpha.5 Aug 16, 2020
1.0.0-alpha.4 Aug 15, 2020

#352 in Build Utils


Used in shunkakinoki

MIT/Apache

40KB
745 lines

Semantic Release Rust

integrates a cargo based project into semantic-release

Build Status Latest Version Documentation semantic-release

Semantic Release Rust integrates a cargo-based Rust project into semantic-release. Specifically it provides submcommand for each of the verifyConditons, prepare, and publish step of semantic-release.

Usage

Install semantic-release-rust with

$ cargo install semantic-release-rust --version 1.0.0-alpha.8

then add it to your semantic-release configuration using the semantic-release/exec plugin. For example in .releaserc.yml:

plugins:
    - '@semantic-release/commit-analyzer'
    - '@semantic-release/release-notes-generator'
    - '@semantic-release/github'
    - - '@semantic-release/exec'
      - verifyConditionsCmd: "semantic-release-rust verify-conditions"
        prepareCmd: "semantic-release-rust prepare ${nextRelease.version}"
        publishCmd: "semantic-release-rust publish"

semantic-release-rust expects (and verifies) that the environment variable CARGO_REGISTRY_TOKEN is set. It should be set to an API Access token for crates.io access. You likely want to set this through the secrets mechanims of your CI provider.

License

Semantic Release Rust is licensed under either of

at your option.

Contribution

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Semantic Release Rust by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~14–24MB
~371K SLoC