name: crates-io
concurrency:
cancel-in-progress: false
group: ${{ github.workflow }}-${{ github.ref }}
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
on:
release:
types: [ published ]
repository_dispatch:
types: [ crates-io ]
workflow_dispatch:
permissions:
contents: read
deployments: read
packages: write
jobs:
deps:
strategy:
max-parallel: 1
fail-fast: false
matrix:
package:
- ${{ github.event.repository.name }}
runs-on: ubuntu-latest
steps:
-
uses: actions/checkout@v4
name: Checkout
-
uses: actions-rust-lang/setup-rust-toolchain@v1
name: Setup Rust
with:
cache-key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
cache-workspaces: true
-
name: Publish (${{ matrix.package }})
run: cargo publish --locked --package ${{ matrix.package }}