name: Publish Release

on:
  release:
    types: [published]

jobs:
  publish:
    name: Publish crate
    runs-on: ubuntu-latest
    timeout-minutes: 60
    env:
      RUSTFLAGS: -D warnings
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: Package (dry-run)
        run: cargo package
      - name: Publish
        env:
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
          PATCH: ${{ github.run_number }}
        shell: bash
        run: |
          git config --global user.email "runner@gha.local"
          git config --global user.name "Github Action"
          cargo publish
