Skip to content

Commit b9e5833

Browse files
authored
Added linux aarch64/AMD64 build support (#129)
1 parent 43dd41e commit b9e5833

File tree

2 files changed

+61
-2
lines changed

2 files changed

+61
-2
lines changed

.github/scripts/build-linux.sh

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ fi
2626

2727
# install compile-time dependencies
2828
${PYBIN}/pip install numpy==${NUMPY_VERSION}
29+
${PYBIN}/pip install setuptools
2930

3031
# List installed packages
3132
${PYBIN}/pip freeze

.github/workflows/ci.yml

+60-2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,31 @@ jobs:
6161
python-arch: 'x86_64'
6262
python-version: '3.12'
6363
numpy-version: '2.0.*'
64+
#ARM 64
65+
- os-image: ubuntu-latest
66+
os-name: linux
67+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
68+
python-arch: 'aarch64'
69+
python-version: '3.9'
70+
numpy-version: '2.0.*'
71+
- os-image: ubuntu-latest
72+
os-name: linux
73+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
74+
python-arch: 'aarch64'
75+
python-version: '3.10'
76+
numpy-version: '2.0.*'
77+
- os-image: ubuntu-latest
78+
os-name: linux
79+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
80+
python-arch: 'aarch64'
81+
python-version: '3.11'
82+
numpy-version: '2.0.*'
83+
- os-image: ubuntu-latest
84+
os-name: linux
85+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
86+
python-arch: 'aarch64'
87+
python-version: '3.12'
88+
numpy-version: '2.0.*'
6489

6590
- os-image: macos-12
6691
os-name: mac
@@ -139,14 +164,18 @@ jobs:
139164
- uses: actions/checkout@v4
140165
with:
141166
submodules: true
142-
167+
143168
# - name: Initialize CodeQL
144169
# if: matrix.config.python-version == '3.10'
145170
# uses: github/codeql-action/init@v3
146171
# with:
147172
# languages: python, cpp
148173
# setup-python-dependencies: false
149174

175+
- name: Set up QEMU (Linux ARM64)
176+
if: matrix.config.os-name == 'linux' && matrix.config.python-arch == 'aarch64'
177+
uses: docker/setup-qemu-action@v3
178+
150179
- name: Build wheel (Linux)
151180
if: matrix.config.os-name == 'linux'
152181
# See comment above.
@@ -224,6 +253,31 @@ jobs:
224253
python-version: '3.12'
225254
numpy-version: '2.0.*'
226255

256+
- os-image: ubuntu-latest
257+
os-name: linux
258+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
259+
python-arch: 'aarch64'
260+
python-version: '3.9'
261+
numpy-version: '2.0.*'
262+
- os-image: ubuntu-latest
263+
os-name: linux
264+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
265+
python-arch: 'aarch64'
266+
python-version: '3.10'
267+
numpy-version: '2.0.*'
268+
- os-image: ubuntu-latest
269+
os-name: linux
270+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
271+
python-arch: 'aarch64'
272+
python-version: '3.11'
273+
numpy-version: '2.0.*'
274+
- os-image: ubuntu-latest
275+
os-name: linux
276+
docker-image: quay.io/pypa/manylinux_2_28_aarch64
277+
python-arch: 'aarch64'
278+
python-version: '3.12'
279+
numpy-version: '2.0.*'
280+
227281
- os-image: macos-12
228282
os-name: mac
229283
python-arch: x86_64
@@ -305,6 +359,10 @@ jobs:
305359
name: wheel-${{ matrix.config.os-name }}-${{ matrix.config.python-arch }}-${{ matrix.config.python-version }}
306360
path: dist
307361

362+
- name: Set up QEMU (Linux ARM64)
363+
if: matrix.config.os-name == 'linux' && matrix.config.python-arch == 'aarch64'
364+
uses: docker/setup-qemu-action@v3
365+
308366
- name: Test wheel (Linux)
309367
if: matrix.config.os-name == 'linux'
310368
# run: .github/scripts/test-linux.sh
@@ -374,7 +432,7 @@ jobs:
374432

375433
- name: Install from wheel
376434
run: |
377-
pip install dist/pyvirtualcam*cp310-manylinux*.whl
435+
pip install dist/pyvirtualcam*cp310-manylinux*_x86_64.whl
378436
pip install -r dev-requirements.txt
379437
380438
- name: Build docs

0 commit comments

Comments
 (0)