1212jobs :
1313 build_wheels :
1414 name : Build wheel on ${{ matrix.os }}
15- runs-on : ${{ matrix.os }}
16- strategy :
17- matrix :
18- os :
19- - ubuntu-latest
20- - macos-latest
21- # - macos-13 # for x86 support # Not supported, takes too long to build in GA
22- # - windows-latest # Not supported, zig code needs rework
15+ runs-on : ubuntu-latest
2316
2417 steps :
2518 - uses : actions/checkout@v5
2619 with :
2720 fetch-depth : 0 # Required for setuptools_scm to work
2821
29- - name : Setup Zig Compiler
30- uses : mlugg/setup-zig@v2
31- with :
32- version : 0.15.1
33-
3422 - name : Set up Python
3523 uses : actions/setup-python@v6
3624 with :
3725 python-version : ' 3.13'
3826
39- - name : Install build tools
40- run : pip install .[build]
41-
4227 - name : Check build version
4328 run : python3 -m setuptools_scm
4429
45- - name : Build Zig binary
46- run : zig build -Doptimize=ReleaseFast --prefix volt
47-
48- - name : Check binaries
49- if : runner.debug == '1'
50- run : |
51- file zig-out/lib/*
52-
5330 - name : Build wheel
5431 run : python -m build
5532 env :
5633 MACOSX_DEPLOYMENT_TARGET : 15.7
5734
58- - name : Install auditwheel (Linux only)
59- if : runner.os == 'Linux'
60- run : pip install auditwheel
61-
62- - name : Repair wheel with auditwheel (Linux only)
63- if : runner.os == 'Linux'
64- run : |
65- auditwheel repair dist/*.whl -w dist/
66- rm dist/*-linux_*.whl # Remove the non-manylinux wheel
67-
6835 - name : Check wheel
6936 run : |
7037 pip install twine
7845
7946 - name : Run tests
8047 run : pytest
81- env :
82- NO_LOGS : true
8348
8449 - uses : actions/upload-artifact@v4
8550 with :
@@ -97,29 +62,28 @@ jobs:
9762 url : https://test.pypi.org/project/volt-framework/
9863 permissions :
9964 id-token : write
100- if : github.event_name == 'push' && github.ref == 'refs/heads/main'
65+ if : github.event_name == 'push'
10166
10267 steps :
10368 - uses : actions/download-artifact@v4
10469 with :
10570 pattern : wheel-*
106- merge-multiple : true
10771 path : dist
10872
10973 - name : Publish to Test PyPI (Debugging)
11074 uses : pypa/gh-action-pypi-publish@release/v1
75+ if : runner.debug == '1'
11176 with :
11277 repository-url : https://test.pypi.org/legacy/
11378 skip-existing : true
11479 verbose : true
115- if : runner.debug == '1'
11680
11781 - name : Publish to Test PyPI
11882 uses : pypa/gh-action-pypi-publish@release/v1
83+ if : runner.debug == '0'
11984 with :
12085 repository-url : https://test.pypi.org/legacy/
12186 skip-existing : true
122- if : runner.debug == '0'
12387
12488 # Upload to production PyPI only on releases
12589 upload_pypi :
0 commit comments