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:
Martin Kunz
2022-10-25 20:06:09 +02:00
committed by GitHub
parent 7d3227c5c3
commit b565aa5f71

34
.github/workflows/crates-publish.yml vendored Normal file
View 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