name: Release
on:
push:
tags:
- "v*.*.*"
jobs:
publish:
name: Publish to crates.io
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: true
components: rustfmt, clippy
override: true
- name: Check build
run: cargo check --all-targets
- name: Run tests
run: cargo test
- name: Publish to crates.io
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: cargo publish --no-verify