rabbitmqadmin 2.31.0

rabbitmqadmin v2 is a modern CLI tool for the RabbitMQ HTTP API
Documentation
name: Verify Packages

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Version to verify (without the v prefix, leave empty for the latest version)'
        required: false
  schedule:
    - cron: '0 6 * * 0,3'

env:
  BINARY_NAME: rabbitmqadmin

jobs:
  get-version:
    name: Get Version
    runs-on: ubuntu-latest
    outputs:
      version: ${{ steps.version.outputs.version }}
    steps:
      - name: Get version
        id: version
        uses: michaelklishin/rust-build-package-release-action@v3
        with:
          command: get-release-version
          version: ${{ inputs.version }}

  test-deb:
    name: deb (${{ matrix.distro }}, ${{ matrix.arch }})
    needs: [get-version]
    runs-on: ${{ matrix.runner }}
    container: ${{ matrix.container }}
    strategy:
      fail-fast: false
      matrix:
        include:
          # Ubuntu 24.04 LTS
          - distro: ubuntu-24.04
            container: ubuntu:24.04
            arch: amd64
            runner: ubuntu-latest
          - distro: ubuntu-24.04
            container: ubuntu:24.04
            arch: arm64
            runner: ubuntu-24.04-arm
          # Ubuntu 22.04 LTS
          - distro: ubuntu-22.04
            container: ubuntu:22.04
            arch: amd64
            runner: ubuntu-latest
          # Debian trixie (13)
          - distro: debian-trixie
            container: debian:trixie
            arch: amd64
            runner: ubuntu-latest
          - distro: debian-trixie
            container: debian:trixie
            arch: arm64
            runner: ubuntu-24.04-arm
    steps:
      - name: Test package
        uses: michaelklishin/rust-build-package-release-action@v3
        with:
          command: test-deb
          download-from-release: true
          binary-name: ${{ env.BINARY_NAME }}
          version: ${{ needs.get-version.outputs.version }}
          arch: ${{ matrix.arch }}

  test-rpm:
    name: rpm (${{ matrix.distro }}, ${{ matrix.arch }})
    needs: [get-version]
    runs-on: ${{ matrix.runner }}
    container: ${{ matrix.container }}
    strategy:
      fail-fast: false
      matrix:
        include:
          # Fedora 42
          - distro: fedora-42
            container: fedora:42
            arch: x86_64
            runner: ubuntu-latest
          # AlmaLinux 10 (RHEL-compatible)
          - distro: alma-10
            container: almalinux:10
            arch: x86_64
            runner: ubuntu-latest
          # Red Hat UBI 10
          - distro: ubi-10
            container: registry.access.redhat.com/ubi10/ubi
            arch: x86_64
            runner: ubuntu-latest
    steps:
      - name: Test package
        uses: michaelklishin/rust-build-package-release-action@v3
        with:
          command: test-rpm
          download-from-release: true
          binary-name: ${{ env.BINARY_NAME }}
          version: ${{ needs.get-version.outputs.version }}
          arch: ${{ matrix.arch }}

  test-windows:
    name: Windows (${{ matrix.version }})
    needs: [get-version]
    runs-on: ${{ matrix.runner }}
    strategy:
      fail-fast: false
      matrix:
        include:
          - version: '2022'
            runner: windows-2022
          - version: '2025'
            runner: windows-latest
    steps:
      - name: Test Windows artifacts
        uses: michaelklishin/rust-build-package-release-action@v3
        with:
          command: test-windows
          download-from-release: true
          binary-name: ${{ env.BINARY_NAME }}
          version: ${{ needs.get-version.outputs.version }}