Skip to content

Commit 62a3382

Browse files
authored
Merge pull request #627 from grlee77/update-wheel-builds-on-main
Forward port: Add aarch64 wheels for Python 3.7 and fix manylinux versions
2 parents 9a72143 + 844e3ef commit 62a3382

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

.github/workflows/wheel_tests_and_release.yml

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,35 @@ env:
99
# CIBW_BEFORE_BUILD: pip install cython
1010
CIBW_TEST_REQUIRES: pytest
1111
CIBW_TEST_COMMAND: pytest --pyargs pywt
12+
CIBW_ENVIRONMENT: PIP_PREFER_BINARY=1
1213

1314

1415
jobs:
1516
build_linux_37_and_above_wheels:
16-
name: Build python ${{ matrix.cibw_python }} wheels on ${{ matrix.os }}
17+
name: Build python ${{ matrix.cibw_python }} ${{ matrix.cibw_arch }} wheels on ${{ matrix.os }}
1718
runs-on: ${{ matrix.os }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
2122
os: [ubuntu-18.04]
22-
cibw_python: [ "cp37-*", "cp38-*" ]
23-
cibw_manylinux: [ manylinux1 ]
23+
cibw_python: [ "cp38-*", "cp39-*" ]
24+
cibw_manylinux: [ manylinux2014 ]
25+
cibw_arch: [ "x86_64", "i686" ]
2426
include:
27+
# manylinux2010 for Python 3.7 cases
28+
- os: ubuntu-18.04
29+
cibw_python: "cp37-*"
30+
cibw_manylinux: manylinux2010
31+
cibw_arch: "x86_64"
2532
- os: ubuntu-18.04
26-
cibw_python: "cp39-*"
33+
cibw_python: "cp37-*"
2734
cibw_manylinux: manylinux2010
35+
cibw_arch: "i686"
36+
# no i686 NumPy 1.21.x wheel for Python 3.10
2837
- os: ubuntu-18.04
2938
cibw_python: "cp310-*"
3039
cibw_manylinux: manylinux2014
40+
cibw_arch: "x86_64"
3141
steps:
3242
- uses: actions/checkout@v2
3343
with:
@@ -44,9 +54,10 @@ jobs:
4454
python -m cibuildwheel --output-dir dist
4555
env:
4656
CIBW_BUILD: ${{ matrix.cibw_python }}
47-
CIBW_ARCHS_LINUX: x86_64 i686
57+
CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }}
58+
CIBW_SKIP: "*-musllinux_*"
4859
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.cibw_manylinux }}
49-
CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.cibw_manylinux }}
60+
CIBW_MANYLINUX_I686_IMAGE: "manylinux2010"
5061
- uses: actions/upload-artifact@v2
5162
with:
5263
name: wheels
@@ -59,7 +70,7 @@ jobs:
5970
fail-fast: false
6071
matrix:
6172
os: [ubuntu-18.04]
62-
cibw_python: [ "cp38-*" , "cp39-*", "cp310-*"]
73+
cibw_python: [ "cp37-*" , "cp38-*" , "cp39-*", "cp310-*"]
6374
cibw_manylinux: [ manylinux2014 ]
6475
steps:
6576
- uses: actions/checkout@v2
@@ -84,7 +95,6 @@ jobs:
8495
CIBW_ARCHS_LINUX: aarch64
8596
CIBW_SKIP: "*-musllinux_*"
8697
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.cibw_manylinux }}
87-
CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.cibw_manylinux }}
8898
- uses: actions/upload-artifact@v2
8999
with:
90100
name: wheels

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ requires = [
1717

1818
# numpy 1.19 was the first minor release to provide aarch64 wheels, but
1919
# wheels require fixes contained in numpy 1.19.2
20+
"numpy==1.19.2; python_version=='3.7' and platform_machine=='aarch64'",
2021
"numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64'",
2122
# aarch64 for py39 is covered by default requirement below
2223

0 commit comments

Comments
 (0)