name: Release
on:
push:
tags:
- "v*"
jobs:
release:
permissions:
id-token: write
contents: write
runs-on: ubuntu-latest
environment: cargo-registry
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with:
fetch-depth: 0
persist-credentials: false
- name: setup node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f with:
registry-url: "https://registry.npmjs.org"
node-version: lts/*
package-manager-cache: false
- uses: rust-lang/crates-io-auth-action@bbd81622f20ce9e2dd9622e3218b975523e45bbe id: auth
- run: npx changelogithub
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: setup rust stable
run: rustup default stable
- name: build
run: cargo build --release
- name: publish to crates.io
run: cargo publish --allow-dirty
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}