Skip to content

Provide wheels directly for every platform #12

Provide wheels directly for every platform

Provide wheels directly for every platform #12

Workflow file for this run

name: Download, extract, build, and test wheels
on:
pull_request:
branches:
- '**' # Matches all branch names, for PRs
push:
branches:
- 'main' # Run tests on main branch
jobs:
build-wheels:
name: Download, extract, build, and wheels
runs-on: ${{ matrix.os }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, ubuntu-24.04-arm]
python-version: [3.13]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install the project
run: uv sync
- name: Download and extract the mscl assets
run: |
uv run download_and_extract_assets.py
- name: Build the wheels
run: |
uv run run_build.py
# There should be only one wheel so it should work:
- name: Initialize test environment and install wheel
run: |
uv init --no-workspace test
cd test
uv add "$(python -c 'import glob; print(glob.glob("../dist/*.whl")[0])')"
- name: Verify installation
run: uv run -- python -c "from python_mscl import mscl"