Skip to content

Commit bea8df9

Browse files
authored
Merge pull request #1307 from minrk/circle-aarch64
docs for native arm building on circleci
2 parents d7f615a + 4c30621 commit bea8df9

File tree

4 files changed

+44
-3
lines changed

4 files changed

+44
-3
lines changed

.circleci/config.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,30 @@ jobs:
3737
command: venv/bin/python ./bin/run_tests.py
3838
no_output_timeout: 30m
3939

40+
linux-aarch64:
41+
machine:
42+
image: ubuntu-2004:2022.04.1
43+
resource_class: arm.medium
44+
environment:
45+
PYTHON: python3
46+
# Temporarily restrict the tests that are run on CircleCI to prevent
47+
# test timeouts.
48+
PYTEST_ADDOPTS: -k "unit_test or main_tests or test_0_basic or test_docker_images"
49+
steps:
50+
- checkout
51+
52+
- run:
53+
name: Prepare the environment.
54+
command: bash .circleci/prepare.sh
55+
- run:
56+
name: Test.
57+
command: venv/bin/python ./bin/run_tests.py
58+
no_output_timeout: 30m
59+
4060
workflows:
4161
version: 2
4262
all-tests:
4363
jobs:
4464
- osx-python3.9
4565
- linux-python3.9
66+
- linux-aarch64

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Usage
5757
| Azure Pipelines |||| | ✅² | ✅⁴ |
5858
| Travis CI || ||| | |
5959
| AppVeyor |||| | ✅² | ✅⁴ |
60-
| CircleCI ||| | | ✅² | |
60+
| CircleCI ||| | | ✅² | |
6161
| Gitlab CI || || ✅¹ | | |
6262
| Cirrus CI || ✅³ |||| |
6363

docs/data/projects.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,13 @@
172172

173173
- name: pyzmq
174174
gh: zeromq/pyzmq
175-
ci: [github]
175+
ci: [github, circleci]
176176
os: [windows, apple, linux]
177177
ci_config: .github/workflows/wheels.yml
178178
notes: |
179-
Python bindings for zeromq, the networking library. Uses Cython and CFFI.
179+
Python bindings for zeromq, the networking library.
180+
Uses Cython on CPython and CFFI on PyPy.
181+
ARM wheels for linux are built natively on CircleCI.
180182
181183
- name: python-rapidjson
182184
gh: python-rapidjson/python-rapidjson

examples/circleci-minimal.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,23 @@ jobs:
1616
- store_artifacts:
1717
path: wheelhouse/
1818

19+
linux-aarch64-wheels:
20+
working_directory: ~/linux-aarch64-wheels
21+
machine:
22+
image: ubuntu-2004:2022.04.1
23+
# resource_class is what tells CircleCI to use an ARM worker for native arm builds
24+
# https://circleci.com/product/features/resource-classes/
25+
resource_class: arm.medium
26+
steps:
27+
- checkout
28+
- run:
29+
name: Build the Linux aarch64 wheels.
30+
command: |
31+
python3 -m pip install --user cibuildwheel==2.10.2
32+
python3 -m cibuildwheel --output-dir wheelhouse
33+
- store_artifacts:
34+
path: wheelhouse/
35+
1936
osx-wheels:
2037
working_directory: ~/osx-wheels
2138
macos:
@@ -35,4 +52,5 @@ workflows:
3552
all-tests:
3653
jobs:
3754
- linux-wheels
55+
- linux-aarch64-wheels
3856
- osx-wheels

0 commit comments

Comments
 (0)