name: Release
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false
jobs:
release-please:
name: Release Please
runs-on: ubuntu-latest
steps:
- name: Run Release Please
uses: googleapis/release-please-action@v5
id: release
with:
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
- name: Checkout repository
if: ${{ steps.release.outputs.release_created == 'true' }}
uses: actions/checkout@v7
- name: Install Rust toolchain
if: ${{ steps.release.outputs.release_created == 'true' }}
uses: dtolnay/rust-toolchain@stable
- name: Publish to crates.io
if: ${{ steps.release.outputs.release_created == 'true' }}
run: cargo publish --token "${{ secrets.CARGO_REGISTRY_TOKEN || secrets.CRATES_IO_TOKEN }}"