Skip to content

Commit 3f51a2c

Browse files
authored
feat: build linux arm64 architecture (#17)
* feat: build linux arm64 architecture Signed-off-by: Michele Dolfi <[email protected]> * avoid pinning only one CIBW_BUILD Signed-off-by: Michele Dolfi <[email protected]> * add more python pinning Signed-off-by: Michele Dolfi <[email protected]> * typo Signed-off-by: Michele Dolfi <[email protected]> * use Compatible release clause Signed-off-by: Michele Dolfi <[email protected]> * add last digit to python compatibility Signed-off-by: Michele Dolfi <[email protected]> * skip pypy Signed-off-by: Michele Dolfi <[email protected]> * improve debugging unzip code Signed-off-by: Michele Dolfi <[email protected]> --------- Signed-off-by: Michele Dolfi <[email protected]>
1 parent 55753ff commit 3f51a2c

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

.github/workflows/wheels.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ jobs:
7777
CIBW_ARCHS: x86_64
7878
CIBW_ARCHS_MACOS: x86_64
7979
CIBW_PLATFORM: macos
80-
CIBW_SKIP: "pp* *-musllinux_* *_i686* *_s390* *arm64*"
81-
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.8"
80+
CIBW_SKIP: "pp* *-musllinux_* *_i686* *_s390* *arm64* *pypy*"
81+
CIBW_PROJECT_REQUIRES_PYTHON: "~=${{ matrix.python-version }}.0"
8282
CIBW_BUILD_VERBOSITY: 3
8383
CMAKE_OSX_ARCHITECTURES: x86_64
8484
CIBW_REPAIR_WHEEL_COMMAND_MACOS: "" # do not run delocate-wheel before the re-tag
@@ -100,7 +100,10 @@ jobs:
100100
poetry run delocate-wheel --require-archs x86_64 -v ./wheelhouse/*.whl
101101
echo "step 3"
102102
ls -l wheelhouse
103-
poetry run python -m zipfile --list wheelhouse/*.whl
103+
for file in ./wheelhouse/*.whl; do
104+
echo "Inspecting $file"
105+
poetry run python -m zipfile --list "$file"
106+
done
104107
mkdir ./dist
105108
cp wheelhouse/*.whl ./dist/
106109
@@ -114,8 +117,8 @@ jobs:
114117
CIBW_ARCHS: arm64
115118
CIBW_ARCHS_MACOS: arm64
116119
CIBW_PLATFORM: macos
117-
CIBW_SKIP: "pp* *-musllinux_* *_i686* *x86_64* *_s390*"
118-
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.8"
120+
CIBW_SKIP: "pp* *-musllinux_* *_i686* *x86_64* *_s390* *pypy*"
121+
CIBW_PROJECT_REQUIRES_PYTHON: "~=${{ matrix.python-version }}.0"
119122
CIBW_BUILD_VERBOSITY: 3
120123
CMAKE_OSX_ARCHITECTURES: arm64
121124
CIBW_REPAIR_WHEEL_COMMAND_MACOS: "" # do not run delocate-wheel before the re-tag
@@ -137,7 +140,10 @@ jobs:
137140
poetry run delocate-wheel --require-archs arm64 -v ./wheelhouse/*.whl
138141
echo "step 3"
139142
ls -l wheelhouse
140-
poetry run python -m zipfile --list wheelhouse/*.whl
143+
for file in ./wheelhouse/*.whl; do
144+
echo "Inspecting $file"
145+
poetry run python -m zipfile --list "$file"
146+
done
141147
mkdir ./dist
142148
cp wheelhouse/*.whl ./dist/
143149
@@ -155,14 +161,20 @@ jobs:
155161
ls -l ./dist
156162
poetry publish --no-interaction -vvv
157163
164+
- name: Set up QEMU [linux]
165+
if: matrix.os.name == 'ubuntu-latest'
166+
uses: docker/setup-qemu-action@v3
167+
with:
168+
platforms: all
169+
158170
- name: Build wheels [linux]
159171
if: matrix.os.name == 'ubuntu-latest'
160172
env:
161-
CIBW_BUILD: ${{ env.python_cp_version }}-${{ matrix.os.platform_id }}
162-
CIBW_ARCHS: x86_64
173+
# CIBW_BUILD: ${{ env.python_cp_version }}-${{ matrix.os.platform_id }}
174+
CIBW_ARCHS: auto x86_64 aarch64
163175
CIBW_PLATFORM: linux
164-
CIBW_SKIP: "pp* *musllinux_* *_i686* *_s390*"
165-
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.8"
176+
CIBW_SKIP: "pp* *musllinux_* *_i686* *_s390* *pypy*"
177+
CIBW_PROJECT_REQUIRES_PYTHON: "~=${{ matrix.python-version }}.0"
166178
CIBW_BUILD_VERBOSITY: 3
167179
BUILD_THREADS: "8"
168180
run: |
@@ -172,7 +184,10 @@ jobs:
172184
cat ./pyproject.toml
173185
poetry run python -m cibuildwheel --output-dir ./wheelhouse
174186
ls -l ./wheelhouse
175-
poetry run python -m zipfile --list ./wheelhouse/*.whl
187+
for file in ./wheelhouse/*.whl; do
188+
echo "Inspecting $file"
189+
poetry run python -m zipfile --list "$file"
190+
done
176191
mkdir ./dist
177192
cp wheelhouse/*.whl ./dist/
178193

0 commit comments

Comments
 (0)