File tree Expand file tree Collapse file tree 3 files changed +78
-0
lines changed
Expand file tree Collapse file tree 3 files changed +78
-0
lines changed Original file line number Diff line number Diff line change @@ -423,6 +423,44 @@ jobs:
423423
424424 - run : cargo +nightly fuzz run --release ${{ matrix.target }} fuzz/seeds -- -dict=fuzz/dict -max_total_time=60
425425
426+ test-python-musllinux :
427+ strategy :
428+ fail-fast : false
429+ matrix :
430+ include :
431+ - target : x86_64
432+ arch : amd64
433+ - target : aarch64
434+ arch : aarch64
435+ name : Test Python musllinux on ${{ matrix.target }}
436+ runs-on : ubuntu-24.04
437+ steps :
438+ - uses : actions/checkout@v6
439+ with :
440+ submodules : true
441+
442+ - uses : actions/setup-python@v6
443+ with :
444+ python-version : ' 3.10'
445+
446+ - name : Build wheel
447+ uses : messense/maturin-action@v1
448+ with :
449+ target : ${{ matrix.target }}
450+ manylinux : musllinux_1_2
451+ args : -m crates/jsonschema-py/Cargo.toml --out dist
452+
453+ - uses : uraimo/run-on-arch-action@v3
454+ name : Install and test wheel on Alpine
455+ with :
456+ base_image : ' --platform=linux/${{ matrix.arch }} python:3.10-alpine'
457+ githubToken : ${{ github.token }}
458+ shell : /bin/sh
459+ install : apk add --no-cache py3-pip
460+ run : |
461+ pip install dist/*.whl --break-system-packages
462+ python -c "import jsonschema_rs; assert jsonschema_rs.is_valid({'type': 'string'}, 'foo')"
463+
426464 lint-docs :
427465 name : Lint documentation
428466 runs-on : ubuntu-24.04
Original file line number Diff line number Diff line change @@ -180,6 +180,41 @@ jobs:
180180 name : wheel-linux-${{ matrix.target }}
181181 path : dist
182182
183+ linux-musllinux :
184+ runs-on : ubuntu-24.04
185+ strategy :
186+ matrix :
187+ include :
188+ - target : x86_64
189+ arch : amd64
190+ - target : aarch64
191+ arch : aarch64
192+ steps :
193+ - uses : actions/checkout@v6
194+ - uses : astral-sh/setup-uv@v7
195+ - uses : actions/setup-python@v6
196+ with :
197+ python-version : ${{ env.PYTHON_ABI_VERSION }}
198+ - name : Build wheels
199+ uses : messense/maturin-action@v1
200+ with :
201+ target : ${{ matrix.target }}
202+ manylinux : musllinux_1_2
203+ args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ env.PYTHON_ABI_VERSION }}
204+ - uses : uraimo/run-on-arch-action@v3
205+ name : Install built wheel on Alpine
206+ with :
207+ base_image : ' --platform=linux/${{ matrix.arch }} python:${{ env.PYTHON_ABI_VERSION }}-alpine'
208+ githubToken : ${{ github.token }}
209+ shell : /bin/sh
210+ install : apk add --no-cache py3-pip
211+ run : pip install ${{ env.PACKAGE_NAME }} --no-index --find-links dist/ --force-reinstall --break-system-packages
212+ - name : Upload wheels
213+ uses : actions/upload-artifact@v6
214+ with :
215+ name : wheel-linux-musllinux-${{ matrix.target }}
216+ path : dist
217+
183218 pypy :
184219 runs-on : ${{ matrix.os }}
185220 strategy :
@@ -255,6 +290,7 @@ jobs:
255290 - macos-universal
256291 - windows
257292 - linux
293+ - linux-musllinux
258294 - pypy
259295 if : " startsWith(github.ref, 'refs/tags/')"
260296 steps :
Original file line number Diff line number Diff line change 22
33## [ Unreleased]
44
5+ ### Added
6+
7+ - Pre-built wheels for ` musllinux ` (Alpine Linux) on ` x86_64 ` and ` aarch64 ` .
8+
59## [ 0.40.2] - 2026-01-30
610
711### Changed
You can’t perform that action at this time.
0 commit comments