Run arm64 linux builds on their own job for faster CI

pull/16/head
Andrew Cassidy 2 years ago
parent b8a80235f8
commit 2a07db8c8f

@ -45,11 +45,15 @@ jobs:
path: dist/*.tar.gz
build-wheels:
name: Build Wheels for ${{ matrix.os }}
name: Build Wheels on ${{ matrix.os }}-${{ matrix.arch[0] }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-11, windows-latest, ubuntu-latest ]
arch: [ [ x86_64, AMD64, x86_64 ] ] #[mac, windows, linux] arch names
include:
- os: ubuntu-latest
arch: [ arm64, arm64, aarch64 ]
steps:
- uses: actions/checkout@v3
@ -71,19 +75,15 @@ jobs:
- name: Install QEMU
# install QEMU if building for arm linux
uses: docker/setup-qemu-action@v1
if: runner.os == 'Linux'
if: matrix.arch == aarch64
with:
platforms: arm64
- name: Build wheels
uses: pypa/cibuildwheel@v2.4.0
env:
# these options are all specific to running in the CI. other options are in pyproject.toml
MACOSX_DEPLOYMENT_TARGET: "10.15"
CIBW_ARCHS_MACOS: "x86_64 universal2"
CIBW_ARCHS_LINUX: "x86_64 aarch64"
CIBW_ARCHS_WINDOWS: "auto64"
CIBW_TEST_SKIP: "*-macosx_arm64 *-macosx_universal2:arm64"
CIBW_ARCHS_LINUX: ${{ matrix.arch[2] }}
- name: Upload Wheels
uses: actions/upload-artifact@v3

@ -13,7 +13,6 @@ build-backend = "setuptools.build_meta"
name = "quicktex"
description = "A fast block compression library for python"
readme = "README.md"
license = { file = "LICENSE.md" }
authors = [{ name = "Andrew Cassidy", email = "drewcassidy@me.com" }]
classifiers = [
@ -54,16 +53,23 @@ packages = { find = { include = ["quicktex*"] } } # only include quicktex and no
package-data = { '*' = ['py.typed', '*.pyi'] } # include stubs
package-dir = { '' = '.' } # without this line, C++ source files get included in the bdist
[tool.setuptools_scm]
[tool.cibuildwheel]
build = "cp{37,38,39,31*}-*"
skip = ["*cp37-musllinux*", "*musllinux_aarch64*", "cp{38,39,31*}-macosx_x86_64"]
build = "cp*" # only build wheels for cpython.
build-frontend = "build"
test-command = "cd {project} && python -m unittest --verbose"
test-extras = ["tests"]
manylinux-x86_64-image = "manylinux2014"
manylinux-aarch64-image = "manylinux2014"
[tool.cibuildwheel.macos]
archs = ["x86_64", "universal2"] # build fat binaries, or x86-64 for python 3.7
skip = ["cp{38,39,31*}-macosx_x86_64"] # skip x86-only builds where fat binaries are supported
[tool.cibuildwheel.windows]
test-command = "cd /d {project} && python -m unittest --verbose"
archs = ["x86_64"] # arm64 windows builds not yet supported
test-command = "cd /d {project} && python -m unittest --verbose" # windows why is this flag required
[tool.setuptools_scm]
[tool.cibuildwheel.linux]
skip = ["cp37-musllinux*", "*musllinux_aarch64*"] # skip targets without available Pillow wheels
manylinux-x86_64-image = "manylinux2014"
manylinux-aarch64-image = "manylinux2014"

Loading…
Cancel
Save