1313
1414jobs :
1515 build-wheels-native :
16- name : " native ${{ matrix.arch }} "
16+ name : " native x86_64 i686 "
1717 runs-on : ubuntu-latest
18- strategy :
19- fail-fast : false
20- matrix :
21- arch : [x86_64, i686]
2218 steps :
2319 - name : Checkout repo
2420 uses : actions/checkout@v6
2521
2622 - name : Build wheels
2723 uses : pypa/cibuildwheel@v2.23
2824 env :
29- CIBW_ARCHS_LINUX : ${{ matrix.arch }}
25+ CIBW_ARCHS_LINUX : " x86_64 i686 "
3026 CIBW_TEST_COMMAND : " python -c \" import lzo; d=b'test'*42; assert lzo.decompress(lzo.compress(d))==d\" "
3127
3228 - name : Upload wheels
3329 uses : actions/upload-artifact@v6
3430 with :
35- name : wheels-linux-${{ matrix.arch }}
31+ name : wheels-linux-native
3632 path : wheelhouse/*.whl
3733 if-no-files-found : error
3834
39- build-wheels-emulated :
40- name : " emulated ${{ matrix.arch }} "
35+ build-wheels-aarch64 :
36+ name : " emulated aarch64 "
4137 runs-on : ubuntu-latest
42- strategy :
43- fail-fast : false
44- matrix :
45- arch : [aarch64, ppc64le, s390x, armv7l]
4638 steps :
4739 - name : Checkout repo
4840 uses : actions/checkout@v6
@@ -55,13 +47,88 @@ jobs:
5547 - name : Build wheels
5648 uses : pypa/cibuildwheel@v2.23
5749 env :
58- CIBW_ARCHS_LINUX : ${{ matrix.arch }}
50+ CIBW_ARCHS_LINUX : aarch64
5951 CIBW_TEST_COMMAND : " python -c \" import lzo; d=b'test'*42; assert lzo.decompress(lzo.compress(d))==d\" "
6052
6153 - name : Upload wheels
6254 uses : actions/upload-artifact@v6
6355 with :
64- name : wheels-linux-${{ matrix.arch }}
56+ name : wheels-linux-aarch64
57+ path : wheelhouse/*.whl
58+ if-no-files-found : error
59+
60+ build-wheels-ppc64le :
61+ name : " emulated ppc64le"
62+ runs-on : ubuntu-latest
63+ steps :
64+ - name : Checkout repo
65+ uses : actions/checkout@v6
66+
67+ - name : Set up QEMU
68+ uses : docker/setup-qemu-action@v3
69+ with :
70+ platforms : all
71+
72+ - name : Build wheels
73+ uses : pypa/cibuildwheel@v2.23
74+ env :
75+ CIBW_ARCHS_LINUX : ppc64le
76+ CIBW_TEST_COMMAND : " python -c \" import lzo; d=b'test'*42; assert lzo.decompress(lzo.compress(d))==d\" "
77+
78+ - name : Upload wheels
79+ uses : actions/upload-artifact@v6
80+ with :
81+ name : wheels-linux-ppc64le
82+ path : wheelhouse/*.whl
83+ if-no-files-found : error
84+
85+ build-wheels-s390x :
86+ name : " emulated s390x"
87+ runs-on : ubuntu-latest
88+ steps :
89+ - name : Checkout repo
90+ uses : actions/checkout@v6
91+
92+ - name : Set up QEMU
93+ uses : docker/setup-qemu-action@v3
94+ with :
95+ platforms : all
96+
97+ - name : Build wheels
98+ uses : pypa/cibuildwheel@v2.23
99+ env :
100+ CIBW_ARCHS_LINUX : s390x
101+ CIBW_TEST_COMMAND : " python -c \" import lzo; d=b'test'*42; assert lzo.decompress(lzo.compress(d))==d\" "
102+
103+ - name : Upload wheels
104+ uses : actions/upload-artifact@v6
105+ with :
106+ name : wheels-linux-s390x
107+ path : wheelhouse/*.whl
108+ if-no-files-found : error
109+
110+ build-wheels-armv7l :
111+ name : " emulated armv7l"
112+ runs-on : ubuntu-latest
113+ steps :
114+ - name : Checkout repo
115+ uses : actions/checkout@v6
116+
117+ - name : Set up QEMU
118+ uses : docker/setup-qemu-action@v3
119+ with :
120+ platforms : all
121+
122+ - name : Build wheels
123+ uses : pypa/cibuildwheel@v2.23
124+ env :
125+ CIBW_ARCHS_LINUX : armv7l
126+ CIBW_TEST_COMMAND : " python -c \" import lzo; d=b'test'*42; assert lzo.decompress(lzo.compress(d))==d\" "
127+
128+ - name : Upload wheels
129+ uses : actions/upload-artifact@v6
130+ with :
131+ name : wheels-linux-armv7l
65132 path : wheelhouse/*.whl
66133 if-no-files-found : error
67134
90157
91158 publish-testpypi :
92159 name : Publish to TestPyPI
93- needs : [build-wheels-native, build-wheels-emulated , sdist]
160+ needs : [build-wheels-native, build-wheels-aarch64, build-wheels-ppc64le, build-wheels-s390x, build-wheels-armv7l , sdist]
94161 if : inputs.publish_to_testpypi
95162 runs-on : ubuntu-latest
96163 environment :
0 commit comments