name: Allocator Bench on: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.run_id }} cancel-in-progress: true permissions: contents: read jobs: bench: name: ${{ matrix.platform }} (tokio-multi-thread=${{ matrix.tokio_multi_thread }}) runs-on: ${{ matrix.runner }} strategy: fail-fast: false matrix: tokio_multi_thread: [true, false] platform: - ubuntu-24.04-arm - ubuntu-24.04 - windows-2025 - windows-11-arm - macos-15 - alpine - alpine-arm include: - platform: ubuntu-24.04-arm runner: ubuntu-24.04-arm alpine: false - platform: ubuntu-24.04 runner: ubuntu-24.04 alpine: false - platform: windows-2025 runner: windows-2025 alpine: false - platform: windows-11-arm runner: windows-11-arm alpine: false - platform: macos-15 runner: macos-15 alpine: false - platform: alpine runner: ubuntu-24.04 alpine: true - platform: alpine-arm runner: ubuntu-24.04-arm alpine: true steps: - uses: actions/checkout@v6 with: persist-credentials: false - if: ${{ !matrix.alpine }} uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: beta cache: true cache-key: allocator-bench-${{ matrix.runner }} - if: ${{ !matrix.alpine && runner.os != 'Windows' }} shell: bash env: TOKIO_MULTI_THREAD: ${{ matrix.tokio_multi_thread }} PLATFORM_LABEL: ${{ matrix.platform }} run: bash .github/scripts/allocator_bench_unix.sh - if: ${{ !matrix.alpine && runner.os == 'Windows' }} shell: pwsh env: TOKIO_MULTI_THREAD: ${{ matrix.tokio_multi_thread }} PLATFORM_LABEL: ${{ matrix.platform }} run: ./.github/scripts/allocator_bench_windows.ps1 - if: ${{ matrix.alpine }} shell: bash env: TOKIO_MULTI_THREAD: ${{ matrix.tokio_multi_thread }} PLATFORM_LABEL: ${{ matrix.platform }} run: bash .github/scripts/allocator_bench_alpine.sh