name: Publish to crates.io
on:
workflow_call:
inputs:
plan:
required: true
type: string
jobs:
publish-crate:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@stable
- id: auth
uses: rust-lang/crates-io-auth-action@v1
- run: cargo publish --locked --no-verify
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}