name: publish
on:
release:
types:
- published
workflow_dispatch:
jobs:
publish:
name: publish
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- name: checkout
uses: actions/checkout@v3
- name: setup-toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- name: cargo-check
uses: actions-rs/cargo@v1
with:
command: check
- name: cargo-publish-dry-run
run: cargo publish --token ${{secrets.CRATES_TOKEN}} --dry-run
- name: cargo-publish
run: cargo publish --token ${{secrets.CRATES_TOKEN}}