name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
release:
name: Release if we are on a tag
runs-on: ubuntu-latest
steps:
- name: Checkout the tag
uses: actions/checkout@v4
- name: Add toolchain for Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Restore cached dependencies
uses: Swatinem/rust-cache@v2
- uses: katyo/publish-crates@v2
with:
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}
ignore-unpublished-changes: true
- uses: taiki-e/create-gh-release-action@v1
with:
changelog: CHANGELOG.md
token: ${{ secrets.GITHUB_TOKEN }}