name: Publish to crates.io
on:
push:
tags: ['[0-9]+.[0-9]+.[0-9]+']
permissions: contents: read
jobs:
publish:
runs-on: ubuntu-latest
timeout-minutes: 60
environment: crates-io-publishing
permissions:
id-token: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@8d3c67de8e2fe68ef647c8db1e6a09f647780f40 with:
egress-policy: audit
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd - uses: rust-lang/crates-io-auth-action@bbd81622f20ce9e2dd9622e3218b975523e45bbe id: auth
- run: cargo publish
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}