Provide wheels directly for every platform #12
Workflow file for this run
This file contains hidden or 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: 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" |