name: publish
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v[0-9]+.[0-9]+.[0-9]+-*"
permissions:
contents: read
id-token: write
jobs:
publish:
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install Rust
run: rustup toolchain install 1.89.0 --profile minimal && rustup default 1.89.0
- name: Bump crate version from tag
run: |
cargo install cargo-edit --locked
VERSION="${GITHUB_REF_NAME#v}"
cargo set-version "$VERSION"
- name: Authenticate to crates.io via Trusted Publishing
uses: rust-lang/crates-io-auth-action@bbd81622f20ce9e2dd9622e3218b975523e45bbe
id: auth
- name: Publish omnitrack
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}
run: cargo publish --allow-dirty