Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions .github/workflows/benchmark.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ["windows-latest", "ubuntu-latest", "macos-13"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
os: ["windows-latest", "ubuntu-22.04", "macos-15-intel"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install lap from source
run: pip install git+https://github.com/gatagat/lap.git
- name: Install lap from GitHub (dynamic branch)
shell: bash
run: |
BRANCH="${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}"
pip install "git+https://github.com/gatagat/lap.git@$BRANCH"
- name: Install scipy
run: pip install scipy
- name: 📊 Run benchmark_simple.py
Expand Down
196 changes: 165 additions & 31 deletions .github/workflows/prepublish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,84 @@ on: [workflow_dispatch]

jobs:

build_windows_all:
name: Build windows wheels
# # # # # # # # # # # # # # # # # # # # #
# Windows jobs
# # # # # # # # # # # # # # # # # # # # #

build_windows:
name: Build windows (Python 3.8-3.14)
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.21.3
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==3.3.1
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_BUILD: "cp38-* cp314-*"
CIBW_SKIP: "*-win32 pp*"
CIBW_ARCHS_WINDOWS: "AMD64 ARM64"
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: windows-all-wheels
path: ./wheelhouse/*.whl


build_windows_p37:
name: Build windows (Python 3.7)
runs-on: windows-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==2.23.3
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-*"
CIBW_SKIP: "*-win32 pp*"
CIBW_ARCHS_WINDOWS: "AMD64 ARM64"
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: windows-all-p37-wheels
path: ./wheelhouse/*.whl

# # # # # # # # # # # # # # # # # # # # #
# macOS jobs
# # # # # # # # # # # # # # # # # # # # #

build_macos_intel:
name: Build macos-intel wheels
runs-on: macos-13
name: Build macos-intel (Python 3.8-3.14)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.21.3
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==3.3.1
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_BUILD: "cp38-* cp314-*"
CIBW_SKIP: "pp*"
CIBW_ARCHS_MACOS: "x86_64"
- name: Archive wheels
Expand All @@ -52,22 +90,50 @@ jobs:
name: macos-intel-wheels
path: ./wheelhouse/*.whl

build_macos_intel_p37:
name: Build macos-intel (Python 3.7)
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==2.23.3
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-*"
CIBW_SKIP: "pp*"
CIBW_ARCHS_MACOS: "x86_64"
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: macos-intel-p37-wheels
path: ./wheelhouse/*.whl

build_macos_arm:
name: Build macos-arm wheels
runs-on: macos-14
name: Build macos-arm (Python 3.8-3.14)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.21.3
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==3.3.1
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_BUILD: "cp38-* cp314-*"
CIBW_SKIP: "pp*"
CIBW_ARCHS_MACOS: "arm64"
- name: Archive wheels
Expand All @@ -76,22 +142,28 @@ jobs:
name: macos-arm-wheels
path: ./wheelhouse/*.whl

# # # # # # # # # # # # # # # # # # # # #
# Linux jobs
# # # # # # # # # # # # # # # # # # # # #

build_linux_intel:
name: Build linux-intel wheels
name: Build linux-intel (Python 3.8-3.14)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.21.3
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==3.3.1
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_BUILD: "cp38-* cp314-*"
CIBW_SKIP: "*-manylinux_i686 pp*"
CIBW_ARCHS_LINUX: "x86_64"
- name: Archive wheels
Expand All @@ -100,39 +172,101 @@ jobs:
name: linux-intel-wheels
path: ./wheelhouse/*.whl

build_linux_arm:
name: Build linux-arm wheels
build_linux_intel_p37:
name: Build linux-intel (Python 3.7)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
platforms: arm64
python-version: '3.x'
- name: Install cibuildwheel
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==2.23.3
- name: Build wheels
uses: pypa/cibuildwheel@v2.21.3
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_BUILD: "cp37-*"
CIBW_SKIP: "*-manylinux_i686 pp*"
CIBW_ARCHS_LINUX: "x86_64"
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: linux-intel-p37-wheels
path: ./wheelhouse/*.whl

build_linux_arm:
name: Build linux-arm (Python 3.8-3.14)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==3.3.1
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp38-* cp314-*"
CIBW_SKIP: "pp*"
CIBW_ARCHS_LINUX: "aarch64"
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: linux-arm-wheels
path: ./wheelhouse/*.whl

build_linux_arm_p37:
name: Build linux-arm (Python 3.7)
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install cibuildwheel
run: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel==2.23.3
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_VERBOSITY: 1
CIBW_BUILD: "cp37-*"
CIBW_SKIP: "pp*"
CIBW_ARCHS_LINUX: "aarch64"
- name: Archive wheels
uses: actions/upload-artifact@v4
with:
name: linux-arm-p37-wheels
path: ./wheelhouse/*.whl

# # # # # # # # # # # # # # # # # # # # #
# Source dist job
# # # # # # # # # # # # # # # # # # # # #

build_source:
name: Build source distribution
name: Build source dist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python 3.x
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install requirements
run: |
pip install "setuptools>=67.2.0"
python -m pip install --upgrade pip
pip install "setuptools>=67.8.0"
pip install wheel build
- name: Build .tar.gz
run: python -m build --sdist
Expand Down
Loading
Loading