api-version 0.3.8

Axum middleware to add a version prefix to request paths based on a set of versions and an optional `x-api-version` header
Documentation
name: Release-plz

permissions:
  contents: read

on:
  push:
    branches:
      - main

jobs:
  toolchain:
    name: Setup Rust toolchain
    runs-on: ubuntu-latest
    outputs:
      toolchain: ${{ steps.set_toolchain.outputs.toolchain }}
    steps:
      - name: Checkout repository
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

      - name: Output toolchain
        id: set_toolchain
        env:
          toolchain_toml: "rust-toolchain.toml"
        run: |
          toolchain=$(grep channel rust-toolchain.toml | sed -r 's/channel = "(.*)"/\1/')
          echo "toolchain=$toolchain" | tee -a "$GITHUB_OUTPUT"

  release-plz:
    name: Run release-plz
    runs-on: ubuntu-latest
    needs: toolchain
    steps:
      - name: Generate a token
        id: app-token
        uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}

      - name: Checkout repository
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
        with:
          fetch-depth: 0
          token: ${{ steps.app-token.outputs.token }}

      - name: Install Rust
        uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
        with:
          toolchain: ${{ needs.toolchain.outputs.toolchain }}

      - name: Run release-plz
        uses: MarcoIeni/release-plz-action@e8792575c7f2366cf6ff3ccc33ead9ace5b691c7 # v0.5.130
        env:
          GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}