name: release
on:
push:
tags:
jobs:
publish:
name: crates.io
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
name: Checkout
- uses: actions/cache@v3
name: Configure cache
with:
path: |
~/.cargo/
./build/
key: publish-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: publish-cargo-
- run: cargo test
name: Test
- run: cargo publish
name: Publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}