rustuse 0.1.2

Unified facade crate for the published RustUse sets and child crates
Documentation
name: Release Publish Automation

on:
    workflow_dispatch:
        inputs:
            post-initial-release:
                description: Confirm the initial manual crates.io release is complete and rustuse already exists on crates.io
                required: true
                type: boolean

permissions:
    contents: write
    pull-requests: read
    id-token: write

concurrency:
    group: release-plz-release
    cancel-in-progress: false

jobs:
    release-plz-release:
        name: Release-plz Release
        if: ${{ !github.event.repository.fork && inputs.post-initial-release }}
        runs-on: ubuntu-latest
        env:
            CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
        steps:
            - name: Check out repository
              uses: actions/checkout@v4
              with:
                  fetch-depth: 0
                  persist-credentials: false

            - name: Install Rust toolchain
              uses: actions-rust-lang/setup-rust-toolchain@v1
              with:
                  toolchain: 1.95.0
                  rustflags: ""
                  cache-workspaces: |
                      . -> target

            - name: Check publish token
              shell: bash
              run: |
                  if [ -z "$CARGO_REGISTRY_TOKEN" ]; then
                    echo "CARGO_REGISTRY_TOKEN is required for release-plz publish." >&2
                    exit 1
                  fi

            - name: Confirm published crate already exists on crates.io
              shell: bash
              run: |
                  curl --fail --silent --show-error "https://crates.io/api/v1/crates/rustuse" > /dev/null

            - name: Run release-plz release
              uses: release-plz/action@v0.5
              with:
                  command: release
              env:
                  CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}