mirror of
https://github.com/obi1kenobi/cargo-semver-checks-action.git
synced 2024-11-22 16:09:33 +01:00
Improve examples for the various modes of using the action.
Resolves #4.
This commit is contained in:
parent
31abdeda61
commit
d0f8d5bbed
1 changed files with 25 additions and 7 deletions
32
README.md
32
README.md
|
@ -1,24 +1,40 @@
|
||||||
# cargo-semver-checks-action
|
# cargo-semver-checks-action
|
||||||
A GitHub Action for running cargo-semver-checks
|
Lint your crate API changes for semver violations.
|
||||||
|
|
||||||
By default, this action assumes that:
|
By default, this action assumes that:
|
||||||
- Your cargo workspace contains a single crate which contains a library target.
|
- Your cargo workspace contains a single crate which contains a library target.
|
||||||
- Your releases are tagged in git as `v{major}.{minor}.{patch}`, for example `v1.2.3`.
|
- Your releases are tagged in git as `v{major}.{minor}.{patch}`, for example `v1.2.3`.
|
||||||
|
|
||||||
Single-crate workspaces can use it as:
|
Single-crate workspaces can use it as:
|
||||||
```
|
```yaml
|
||||||
- name: Check semver
|
- name: Check semver
|
||||||
uses: obi1kenobi/cargo-semver-checks-action@v1
|
uses: obi1kenobi/cargo-semver-checks-action@v1
|
||||||
- name: Publish to crates.io
|
- name: Publish to crates.io
|
||||||
run: # your `cargo publish` code here
|
run: # your `cargo publish` code here
|
||||||
```
|
```
|
||||||
|
|
||||||
In a workspace with more than one crate:
|
## Use with a different version tag format
|
||||||
- use the `crate-name` setting to specify which crate should be checked in a given run, and
|
|
||||||
- use the `version-tag-prefix` setting to override the default prefix `v` to match the way the releases of your crate are tagged. The version number `1.2.3` will be appended to this prefix.
|
|
||||||
|
|
||||||
For example, this is publishing `my-crate` whose releases are tagged as `my-crate-v1.2.3`:
|
Change the `version-tag-prefix` setting to reflect the prefix used to create the version tag. The setting's default value `'v'` creates version tags like `v1.2.3`.
|
||||||
|
|
||||||
|
For example, if your versions are tagged as `1.2.3`, you can set `version-tag-prefix` to be the empty string:
|
||||||
|
```yaml
|
||||||
|
- name: Check semver
|
||||||
|
uses: obi1kenobi/cargo-semver-checks-action@v1
|
||||||
|
with:
|
||||||
|
version-tag-prefix: ''
|
||||||
|
- name: Publish my-crate to crates.io
|
||||||
|
run: # your `cargo publish` code here
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Use in workspaces with more than one crate
|
||||||
|
|
||||||
|
You'll need to specify which crate should be checked, and 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
|
||||||
- name: Check semver
|
- name: Check semver
|
||||||
uses: obi1kenobi/cargo-semver-checks-action@v1
|
uses: obi1kenobi/cargo-semver-checks-action@v1
|
||||||
with:
|
with:
|
||||||
|
@ -28,8 +44,10 @@ For example, this is publishing `my-crate` whose releases are tagged as `my-crat
|
||||||
run: # your `cargo publish` code here
|
run: # your `cargo publish` code here
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Use with binary crates or crates with more than one target
|
||||||
|
|
||||||
To check a different (non-library) target in a crate, use the `crate-target` setting:
|
To check a different (non-library) target in a crate, use the `crate-target` setting:
|
||||||
```
|
```yaml
|
||||||
- name: Check semver for my_binary
|
- name: Check semver for my_binary
|
||||||
uses: obi1kenobi/cargo-semver-checks-action@v1
|
uses: obi1kenobi/cargo-semver-checks-action@v1
|
||||||
with:
|
with:
|
||||||
|
|
Loading…
Reference in a new issue