name: Publish crates.io
on:
release:
types:
- released
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps:
- name: Checkout branch
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: Install Rust
uses: moonrepo/setup-rust@ede6de059f8046a5e236c94046823e2af11ca670 env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: rust-lang/crates-io-auth-action@e919bc7605cde86df457cf5b93c5e103838bd879 id: auth
- name: Publish crates.io
run: |
cargo publish --workspace
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}