Skip to content

Commit 9c51763

Browse files
author
Jeff Whitaker
authored
Merge pull request #12 from odidev/aarch64-wheels
Add Linux AArch64 wheel build support
2 parents 4a4a5da + b02768f commit 9c51763

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

.github/workflows/build-wheels.yml

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,23 @@ jobs:
3131
exclude:
3232
- os: macos-latest
3333
platform: x32
34+
include:
35+
- python-version: "3.6"
36+
os: ubuntu-latest
37+
platform: aarch64
38+
MB_ML_VER: 2014
39+
- python-version: "3.7"
40+
os: ubuntu-latest
41+
platform: aarch64
42+
MB_ML_VER: 2014
43+
- python-version: "3.8"
44+
os: ubuntu-latest
45+
platform: aarch64
46+
MB_ML_VER: 2014
47+
- python-version: "3.9"
48+
os: ubuntu-latest
49+
platform: aarch64
50+
MB_ML_VER: 2014
3451
env:
3552
REPO_DIR: netcdf4-python
3653
PKG_NAME: netcdf4-python
@@ -53,7 +70,13 @@ jobs:
5370
uses: actions/setup-python@v2
5471
with:
5572
python-version: ${{ matrix.python-version }}
73+
74+
- name: Setup QEMU
75+
if: ${{ matrix.platform == 'aarch64' }}
76+
uses: docker/setup-qemu-action@v1
77+
5678
- name: Pin Numpy version
79+
if: ${{ matrix.platform != 'aarch64' }}
5780
run: |
5881
if [ "$MB_PYTHON_VERSION" == '3.6' ]; then
5982
echo "NP_BUILD_DEP=$(echo numpy==1.17.3)" >> $GITHUB_ENV;
@@ -73,17 +96,31 @@ jobs:
7396
else
7497
echo "None of the defined python version, use default"
7598
fi
99+
100+
- name: Pin Numpy version for AArch64
101+
if: ${{ matrix.platform == 'aarch64' }}
102+
run: |
103+
echo "NP_BUILD_DEP=$(echo numpy==1.19.4)" >> $GITHUB_ENV;
104+
echo "NP_TEST_DEP=$(echo numpy==1.19.4)" >> $GITHUB_ENV;
105+
76106
- name: Setup Environment variables
77107
run: |
78108
if [ "schedule" == "${{ github.event_name }}" ] || [ "master" == "$BUILD_COMMIT" ]; then echo "TOKEN=$SCIPY_WHEELS_NIGHTLY_ACCESS" >> $GITHUB_ENV; else echo "TOKEN=$MULTIBUILD_WHEELS_STAGING_ACCESS" >> $GITHUB_ENV; fi
79-
if [ "x32" == "${{ matrix.platform }}" ]; then echo "PLAT=i686" >> $GITHUB_ENV; else echo "PLAT=x86_64" >> $GITHUB_ENV; fi
109+
if [ "x32" == "${{ matrix.platform }}" ]; then echo "PLAT=i686" >> $GITHUB_ENV; elif [ "aarch64" == "${{ matrix.platform }}" ]; then echo "PLAT=aarch64" >> $GITHUB_ENV; else echo "PLAT=x86_64" >> $GITHUB_ENV; fi
80110
if [ "macos-latest" == "${{ matrix.os }}" ]; then echo "TRAVIS_OS_NAME=osx" >> $GITHUB_ENV; else echo "TRAVIS_OS_NAME=${{ matrix.os }}" >> $GITHUB_ENV; fi
81111
if [ "schedule" == "${{ github.event_name }}" ]; then echo "TRAVIS_EVENT_TYPE=cron" >> $GITHUB_ENV; else echo "TRAVIS_EVENT_TYPE=${{ github.event_name }}" >> $GITHUB_ENV; fi
82112
if [ "schedule" == "${{ github.event_name }}" ]; then echo "BUILD_COMMIT=master" >> $GITHUB_ENV; else echo "BUILD_COMMIT=$BUILD_COMMIT" >> $GITHUB_ENV; fi
113+
83114
- name: Setup Special Environment variables for Linux
84115
if: startsWith(matrix.os,'ubuntu') && matrix.MB_ML_VER == 2010
85116
run: |
86117
echo "DOCKER_TEST_IMAGE=$(echo multibuild/xenial_$PLAT)" >> $GITHUB_ENV
118+
119+
- name: Setup Special Environment variables for Linux AArch64
120+
if: ${{ matrix.platform == 'aarch64' }}
121+
run: |
122+
echo "DOCKER_TEST_IMAGE=$(echo multibuild/xenial_arm64v8)" >> $GITHUB_ENV
123+
87124
- name: Print some Environment variable
88125
run: |
89126
echo "TRAVIS_BRANCH: ${TRAVIS_BRANCH}"

0 commit comments

Comments
 (0)