name: Publish new Release 🚀
on:
push:
tags:
- v*
jobs:
publish:
name: Publish 🚀
runs-on: ubuntu-latest
steps:
- name: Checkout code 🛎️
uses: actions/checkout@v2
- name: Setup Rust 🦀
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Match Tag with Crate Version 📦
run: |
crate_version=$(cargo pkgid | sed 's|.*#||')
tag_version=$(echo "${GITHUB_REF}" | sed 's|refs/tags/v||')
if [ "$crate_version" != "$tag_version" ]; then
echo "pushed tag version ($tag_version) does not match crate version ($crate_version)"
exit 1
fi
- name: Publish crate 🚀
run: cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_API_TOKEN }}