1212 fail-fast : true
1313 matrix :
1414 # macos-13 is an intel runner, macos-14 is apple silicon
15- os : [ ubuntu-latest, windows-latest, macos-13, macos-14 ]
15+ os : [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-14 ]
1616 steps :
1717 - uses : actions/checkout@v4
1818
2323 shell : bash
2424 run : echo "BUILD_RUST_IMPL=1" >> $GITHUB_ENV
2525
26- # For Linux, we need to set up QEMU to build the extension for multiple architectures
27- - name : Set up QEMU
28- if : runner.os == 'Linux' && runner.arch == 'X64'
29- uses : docker/setup-qemu-action@v3
30- with :
31- platforms : all
32-
3326 - name : Install uv
3427 uses : astral-sh/setup-uv@v5
3528 with :
@@ -48,18 +41,39 @@ jobs:
4841 run : uv cache prune --ci
4942
5043 - name : Build and fix wheels
44+ if : runner.os == 'Windows' || runner.os == 'macOS'
5145 shell : bash
5246 run : |
5347 uv run cibuildwheel --config-file pyproject.toml --output-dir wheelhouse
5448 for wheel in wheelhouse/*.whl; do
5549 uv run wheel tags --python-tag py3 --abi-tag none --remove $wheel
5650 done
5751
52+ - name : Build and fix wheels (Linux x86_64)
53+ if : matrix.os == 'ubuntu-latest'
54+ shell : bash
55+ run : |
56+ uv run cibuildwheel --config-file pyproject.toml --archs x86_64 --output-dir wheelhouse
57+ for wheel in wheelhouse/*.whl; do
58+ uv run wheel tags --python-tag py3 --abi-tag none --remove $wheel
59+ done
60+
61+ - name : Build and fix wheels (Linux aarch64)
62+ if : matrix.os == 'ubuntu-24.04-arm'
63+ shell : bash
64+ run : |
65+ uv run cibuildwheel --config-file pyproject.toml --archs aarch64 --output-dir wheelhouse
66+ for wheel in wheelhouse/*.whl; do
67+ uv run wheel tags --python-tag py3 --abi-tag none --remove $wheel
68+ done
69+
5870 - name : Verify wheel installation
5971 if : runner.os == 'Windows' || runner.os == 'macOS'
6072 shell : bash
6173 run : |
6274 for wheel in wheelhouse/*.whl; do
75+ uv run --verbose --with $wheel --no-project --refresh-package ftl_extract -- python -c "import ftl_extract; print(ftl_extract.__version__)"
76+ uv run --verbose --with $wheel --no-project --refresh-package ftl_extract -- ftl-extract --version
6377 uv run --verbose --with $wheel --no-project --refresh-package ftl_extract -- fast-ftl-extract --version
6478 done
6579
0 commit comments