name: Release
on:
workflow_run:
workflows: ["CI"]
types:
- completed
branches:
- main
push:
tags:
- 'v*'
branches:
- main
env:
RUST_BACKTRACE: 1
CARGO_TERM_COLOR: always
jobs:
publish:
name: Publish to crates.io
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup rust toolchain and cache
uses: moonrepo/setup-rust@v1
with:
channel: stable
- name: Publish to crates.io
run: cargo publish --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
release:
name: Create GitHub Release
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
permissions:
contents: write
steps:
- name: Create Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true