zenwave 0.5.2

Ergonomic HTTP client framework.
Documentation
name: Release

on:
  workflow_run:
    workflows: [CI]
    branches: [main]
    types: [completed]

jobs:
  release:
    name: Publish release
    if: github.event.workflow_run.conclusion == 'success'
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: read
    steps:
      - &checkout
        name: Checkout tested main commit
        uses: actions/checkout@v6
        with:
          ref: main
          fetch-depth: 0
          persist-credentials: false
      - &verify-tested-commit
        name: Verify tested commit
        env:
          EXPECTED_SHA: ${{ github.event.workflow_run.head_sha }}
        run: |
          actual_sha="$(git rev-parse HEAD)"
          if [[ "$actual_sha" != "$EXPECTED_SHA" ]]; then
            echo "::error::main moved after CI: expected $EXPECTED_SHA, checked out $actual_sha"
            exit 1
          fi
      - &rust-toolchain
        name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable
      - name: Publish unpublished crate version
        uses: release-plz/action@v0.5
        with:
          command: release
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

  release-pr:
    name: Prepare next release
    if: github.event.workflow_run.conclusion == 'success'
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    concurrency:
      group: release-plz-main
      cancel-in-progress: false
    steps:
      - *checkout
      - *verify-tested-commit
      - *rust-toolchain
      - name: Create or update release PR
        uses: release-plz/action@v0.5
        with:
          command: release-pr
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}