Crates Publish #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Crates Publish | |
on: | |
workflow_dispatch: | |
inputs: | |
branch: | |
type: string | |
required: true | |
description: Branch name or tag to publish crates from | |
jobs: | |
publish-cargo-crates: | |
name: "Publish utility-workspaces on crates.io https://crates.io/crates/utility-workspaces" | |
runs-on: "ubuntu-latest" | |
environment: deploy | |
permissions: | |
contents: write # required for crates push | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout utnet-org/utility's ${{ github.event.inputs.branch }} branch | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.inputs.branch }} | |
- name: Set up git user | |
uses: fregante/setup-git-user@v2 | |
- name: Publish unc-workspaces on crates.io | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
run: | | |
set -x | |
cargo install --git https://github.com/miraclx/cargo-workspaces --tag v0.3.0 cargo-workspaces | |
cargo ws publish --yes --allow-dirty --force '*' \ | |
--no-git-commit --no-git-push --no-individual-tags --tag-prefix 'crates-' \ | |
--tag-msg $$'crates.io snapshot\n---%{\n- %n - https://crates.io/crates/%n/%v}' | |
- name: Create tag on https://github.com/utnet-org/utility | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
git push --no-follow-tags https://github.com/utnet-org/utility.git tag 'crates-*' |