Add(CI): For automatically publishing on new versions (#70)
* Add(CI): For automatically publishing on new versions * Fix(CI): added on push to main * Fix(CI): Add publish job * add(CI): semver check * edit(CI): Name Also checks semver so added that to the workflow name.
This commit is contained in:
34
.github/workflows/crates-publish.yml
vendored
Normal file
34
.github/workflows/crates-publish.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published, edited]
|
||||||
|
|
||||||
|
name: Check SemVer compliance and publish on release
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prepare:
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: nightly-2022-08-03
|
||||||
|
override: true
|
||||||
|
|
||||||
|
semver:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: install
|
||||||
|
args: --git https://github.com/rust-lang/rust-semverver
|
||||||
|
- run: eval "current_version=$(grep -e '^version = .*$' Cargo.toml | cut -d ' ' -f 3)"
|
||||||
|
- run: cargo semver | tee semver_out
|
||||||
|
- run: (head -n 1 semver_out | grep "\-> $current_version") || (echo "versioning mismatch" && return 1)
|
||||||
|
|
||||||
|
publish:
|
||||||
|
steps:
|
||||||
|
- uses: katyo/publish-crates@v1
|
||||||
|
with:
|
||||||
|
dry-run: true
|
||||||
|
check-repo: ${{ github.event_name == 'push' }}
|
||||||
|
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
||||||
|
ignore-unpublished-changes: true
|
||||||
Reference in New Issue
Block a user