name: Release
on:
push:
tags:
- v*
jobs:
tests:
uses: vbrandl/badgers/.github/workflows/ci.yml@master
publish:
name: Publish to crates.io
needs: [tests]
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@master
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo registry, index and build directory
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
./target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
- run: cargo login ${CRATES_IO_TOKEN}
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
- run: cargo publish
release:
name: Release
needs: [tests]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: taiki-e/create-gh-release-action@v1
with:
changelog: CHANGELOG.md
token: ${{ secrets.GITHUB_TOKEN }}