98
98
- name : Upload coverage report
99
99
uses : codecov/codecov-action@v1
100
100
101
+ test-arch :
102
+ if : startsWith(github.ref, 'refs/tags') || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main'
103
+ name : Test on ${{ matrix.distro }} ${{ matrix.arch }}
104
+ runs-on : " ubuntu-latest"
105
+ needs : lint
106
+ strategy :
107
+ matrix :
108
+ distro : [ "ubuntu20.04" ]
109
+ arch : ["aarch64"]
110
+ steps :
111
+
112
+ with :
113
+ submodules : recursive
114
+
115
+ name : Build & run test
116
+ with :
117
+ arch : ${{ matrix.arch }}
118
+ distro : ${{ matrix.distro }}
119
+ install : |
120
+ apt-get update -q -y
121
+ apt-get install -q -y python3 python3-pip gcc binutils automake autoconf libtool
122
+ run : |
123
+ python3 -m pip install -U setuptools pip wheel tox
124
+ tox
125
+
101
126
# Test if the python-isal conda package can be build. Which is linked
102
127
# dynamically to the conda isa-l package.
103
128
test-dynamic :
@@ -132,7 +157,7 @@ jobs:
132
157
deploy :
133
158
if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
134
159
runs-on : ${{ matrix.os }}
135
- needs : [lint, package-checks, test-static, test-dynamic]
160
+ needs : [lint, package-checks, test-static, test-dynamic, test-arch ]
136
161
strategy :
137
162
matrix :
138
163
os : ["macos-latest", "ubuntu-latest", "windows-latest"]
@@ -153,11 +178,18 @@ jobs:
153
178
- name : Install nasm (Windows)
154
179
155
180
if : runner.os == 'Windows'
181
+ - name : Set up QEMU
182
+ if : runner.os == 'Linux'
183
+
184
+ with :
185
+ platforms : arm64
156
186
- name : Build wheels
157
187
run : cibuildwheel --output-dir dist
158
188
env :
159
189
CIBW_SKIP : " *-win32 *-manylinux_i686" # Skip 32 bit.
160
190
CIBW_MANYLINUX_X86_64_IMAGE : " manylinux2014"
191
+ CIBW_MANYLINUX_AARCH64_IMAGE : " manylinux2014"
192
+ CIBW_ARCHS_LINUX : " x86_64 aarch64"
161
193
# Fully test the build wheels again.
162
194
CIBW_TEST_REQUIRES : " pytest"
163
195
# Simple test that requires the project to be build correctly
0 commit comments