cargo-semver-checks/README.md

39 lines
1.5 KiB
Markdown
Raw Normal View History

2022-07-21 00:45:54 +02:00
# cargo-semver-checks-action
Lint your crate API changes for semver violations.
2022-08-02 20:41:03 +02:00
```yaml
2022-08-02 20:41:03 +02:00
- name: Check semver
2023-01-03 20:17:02 +01:00
uses: obi1kenobi/cargo-semver-checks-action@v2
2022-08-02 20:41:03 +02:00
- name: Publish to crates.io
run: # your `cargo publish` code here
```
2022-12-31 14:44:23 +01:00
# Input options
Every argument is optional.
| Input | Description | Default |
|--------------------|-----------------------------------------------------------------------------------------------------------------------------------|---------|
2023-01-03 20:17:02 +01:00
| crate-name | The crate whose API to check for semver. If not set, all crates in the workspace are processed. | |
2022-12-31 14:44:23 +01:00
# Scenarios
- [Use in workspaces with more than one crate](#use-in-workspaces-with-more-than-one-crate)
## Use in workspaces with more than one crate
2023-01-03 20:17:02 +01:00
By default, if workspace contains multiple crates, all of them are checked against semver violations. You can specify single crate to be checked instead, along with the format used for version tags for that crate:
- `crate-name` specifies the crate to check, and
- `version-tag-prefix` sets the text prepended to the version number to create the git tag for that release.
For example, this will check `my-crate` whose releases are tagged as `my-crate-v1.2.3`:
```yaml
2022-08-02 20:41:03 +02:00
- name: Check semver
uses: obi1kenobi/cargo-semver-checks-action@v1
with:
crate-name: my-crate
version-tag-prefix: my-crate-v
- name: Publish my-crate to crates.io
run: # your `cargo publish` code here
```