on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
name: release-please
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4
id: release
with:
token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }}
release-type: rust
- uses: actions/checkout@v6
with:
fetch-depth: 0
if: ${{ steps.release.outputs.release_created }}
- name: Setup Node
uses: actions/setup-node@v6
if: ${{ steps.release.outputs.release_created }}
with:
registry-url: https://registry.npmjs.org/
node-version: lts/*
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
if: ${{ steps.release.outputs.release_created }}
with:
components: clippy,rustfmt
- name: Create Release Notes
if: ${{ steps.release.outputs.release_created }}
run: npx changelogithub
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish To Crates.io
if: ${{ steps.release.outputs.release_created }}
run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }} --allow-dirty
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}