Skip to content

Publish crates on crates.io #4

Publish crates on crates.io

Publish crates on crates.io #4

Workflow file for this run

name: Publish crates on crates.io
on:
workflow_dispatch:
inputs:
version:
description: "major/minor/patch or semver"
required: false
default: patch
jobs:
publish:
runs-on: ubuntu-latest
permissions:
id-token: write
# For `git push`ing the updated `Cargo.toml`
contents: write
steps:
- uses: actions/checkout@v4
- uses: rust-lang/crates-io-auth-action@v1
id: auth
- name: Crates publish
uses: kaleidawave/crates-release-gh-action@improvements
id: release
with:
version: codespan=${{ github.event.inputs.version }},codespan-reporting=${{ github.event.inputs.version }},codespan-lsp=${{ github.event.inputs.version }}
crates-token: ${{ steps.auth.outputs.token }}
- name: Push updated Cargo.toml
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -u
git commit -m "Release: ${{ steps.release.outputs.new-versions-description }}"
echo '${{ steps.release.outputs.new-versions }}' | jq -r '.[]' | while read -r update; do
git tag "release/$update"
done
git push --tags origin main