name: Publish workspace crates
on:
workflow_dispatch:
push:
paths:
- "**/Cargo.toml"
- ".github/workflows/publish.yml"
tags:
- "v*"
pull_request:
paths:
- "**/Cargo.toml"
- ".github/workflows/publish.yml"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
with:
toolchain: stable
- uses: Swatinem/rust-cache@65012b490220f477f20ab979e35ae732e6de4e68
- name: Publish workspace
run: |
cargo publish \
${{ startsWith(github.ref, 'refs/tags/v') && '--verbose' || '--dry-run' }} \
--workspace \
--token ${{ secrets.CRATES_TOKEN }} \
--no-default-features \
--features rustls