mirror of
https://github.com/drewcassidy/quicktex.git
synced 2024-09-13 06:37:34 +00:00
Run arm64 linux builds on their own job for faster CI
This commit is contained in:
parent
b8a80235f8
commit
2a07db8c8f
14
.github/workflows/python-package.yml
vendored
14
.github/workflows/python-package.yml
vendored
@ -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…
Reference in New Issue
Block a user