name: Publish to Crates.io
on:
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
permissions: {}
jobs:
test:
name: Run Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with:
persist-credentials: false
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 with:
toolchain: 1.89.0
- name: Run tests
run: cargo test --verbose
publish:
name: Publish to Crates.io
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with:
persist-credentials: false
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 with:
toolchain: 1.89.0
- name: Publish to Crates.io
run: cargo publish --token ${{ secrets.CRATES_TOKEN }}