Update benchmark.yml #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Pipeline | |
on: | |
push: | |
branches: | |
- main | |
- master | |
tags: | |
- '*' | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
rust-checks: | |
name: Rust Checks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run Rust Checks | |
uses: ./.github/actions/rust-checks | |
python-checks: | |
name: Python Checks | |
runs-on: ubuntu-latest | |
needs: rust-checks | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run Python Checks | |
uses: ./.github/actions/python-checks | |
tests: | |
name: Run Tests | |
runs-on: ${{ matrix.runner }} | |
needs: python-checks | |
strategy: | |
matrix: | |
include: | |
# Linux (manylinux = auto) | |
- os: linux | |
runner: ubuntu-22.04 | |
target: x86_64 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: x86 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: aarch64 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: armv7 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: s390x | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: ppc64le | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
# Musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: x86_64 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: x86 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: aarch64 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: armv7 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
# Windows | |
- os: windows | |
runner: windows-latest | |
target: x64 | |
manylinux: '' | |
artifact_prefix: wheels-windows | |
architecture: x64 | |
- os: windows | |
runner: windows-latest | |
target: x86 | |
manylinux: '' | |
artifact_prefix: wheels-windows | |
architecture: x86 | |
# macOS | |
- os: macos | |
runner: macos-13 | |
target: x86_64 | |
manylinux: '' | |
artifact_prefix: wheels-macos | |
- os: macos | |
runner: macos-14 | |
target: aarch64 | |
manylinux: '' | |
artifact_prefix: wheels-macos | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run Tests | |
uses: ./.github/actions/tests | |
with: | |
runner: ${{ matrix.runner }} | |
target: ${{ matrix.target }} | |
build: | |
name: Build Wheels | |
runs-on: ${{ matrix.runner }} | |
needs: tests | |
strategy: | |
matrix: | |
include: | |
# Linux (manylinux = auto) | |
- os: linux | |
runner: ubuntu-22.04 | |
target: x86_64 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: x86 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: aarch64 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: armv7 | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: s390x | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
- os: linux | |
runner: ubuntu-22.04 | |
target: ppc64le | |
manylinux: auto | |
artifact_prefix: wheels-linux | |
# Musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: x86_64 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: x86 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: aarch64 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
- os: musllinux | |
runner: ubuntu-22.04 | |
target: armv7 | |
manylinux: musllinux_1_2 | |
artifact_prefix: wheels-musllinux | |
# Windows | |
- os: windows | |
runner: windows-latest | |
target: x64 | |
manylinux: '' | |
artifact_prefix: wheels-windows | |
architecture: x64 | |
- os: windows | |
runner: windows-latest | |
target: x86 | |
manylinux: '' | |
artifact_prefix: wheels-windows | |
architecture: x86 | |
# macOS | |
- os: macos | |
runner: macos-13 | |
target: x86_64 | |
manylinux: '' | |
artifact_prefix: wheels-macos | |
- os: macos | |
runner: macos-14 | |
target: aarch64 | |
manylinux: '' | |
artifact_prefix: wheels-macos | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build Package | |
uses: ./.github/actions/build-wheels | |
with: | |
target: ${{ matrix.target }} | |
artifact_prefix: ${{ matrix.artifact_prefix }} | |
manylinux: '${{ matrix.manylinux }}' | |
sdist: | |
name: Build sdist | |
runs-on: ubuntu-latest | |
needs: tests | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build sdist | |
uses: ./.github/actions/sdist-wheels | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }} | |
needs: [build, sdist] | |
permissions: | |
id-token: write | |
contents: write | |
attestations: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Release Package | |
uses: ./.github/actions/release |