name: Publish to crates.io and release on GitHub
on:
workflow_call:
secrets:
CRATES_TOKEN:
required: true
jobs:
publish:
name: Publish to crates.io
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.78.0
- run: |
cargo publish --token ${CRATES_TOKEN}
env:
CRATES_TOKEN: ${{ secrets.CRATES_TOKEN }}
release:
name: Release on GitHub
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Create a Release
uses: elgohr/Github-Release-Action@v5
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
title: Release ${{ github.ref_name }}
tag: ${{ github.ref }}