name: Publish
on:
push:
tags:
- "*"
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- name: Run tests
run: cargo test
publish:
name: Publish
needs: tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
- name: Cargo publish
run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }}