@@ -2,81 +2,77 @@ name: Build Packages
22on :
33 workflow_call :
44 inputs :
5- CIBW_BUILD :
5+ platform :
66 required : false
77 type : string
8- default : " cp310-* cp311-* cp312-* cp313-*"
8+ default : ' ["ubuntu-latest", "macos-latest", "macos-15-intel", "windows-latest", "windows-11-arm"]'
9+ build :
10+ required : false
11+ type : string
12+ default : ' '
13+ archs :
14+ required : false
15+ type : string
16+ default : ' '
17+ wheels :
18+ required : false
19+ type : boolean
20+ default : true
21+ sdist :
22+ required : false
23+ type : boolean
24+ default : true
925
1026concurrency :
1127 group : ${{ github.workflow}}-${{ github.head_ref }}
1228 cancel-in-progress : true
1329
1430jobs :
1531 wheels :
16- name : ${{ matrix.platform[0] }} Wheels
17- runs-on : ${{ matrix.platform[1] }}
32+ name : ${{ matrix.platform }} Wheels
33+ if : inputs.wheels == true
34+ runs-on : ${{ matrix.platform }}
1835 strategy :
36+ fail-fast : false
1937 matrix :
20- platform :
21- - ["Linux-x64", "ubuntu-latest"]
22- - ["Linux-arm64", "ubuntu-24.04-arm"]
23- - ["Windows-x64", "windows-latest"]
24- - ["Windows-arm64", "windows-11-arm"]
25- - ["macOS-x64", "macos-15-intel"]
26- - ["macOS-arm64", "macos-latest"]
27- # python-version:
28- # - [ "CPython 3.10", "cp310" ]
29- # - [ "CPython 3.11", "cp311" ]
30- # - [ "CPython 3.12", "cp312" ]
31- # - [ "CPython 3.13", "cp313" ]
38+ platform : ${{ fromJSON(inputs.platform) }}
3239
3340 steps :
34- - name : Checkout source
35- uses : actions/checkout@v5
41+ - uses : actions/checkout@v6
3642 with :
37- fetch-depth : 150
3843 fetch-tags : true
3944 persist-credentials : false
4045
46+ - uses : astral-sh/setup-uv@v7
47+
4148 - name : Build wheels
42- uses : pypa/cibuildwheel@v3.1.4
43- env :
44- CIBW_BUILD : ${{ inputs.CIBW_BUILD }}
49+ uses : pypa/cibuildwheel@v3.3.1
50+ # env:
51+ # CIBW_PLATFORM: ${{ matrix.platform }}
52+ # CIBW_BUILD: ${{ inputs.build }}
53+ # CIBW_ARCHS: ${{ inputs.archs }}
4554
46- - uses : actions/upload-artifact@v4
55+ - uses : actions/upload-artifact@v6
4756 with :
48- name : wheels-${{ matrix.platform[0] }}
57+ name : wheels-${{ matrix.platform }}
4958 path : ./wheelhouse/*.whl
5059
5160 sdist :
5261 name : Source Distribution
62+ if : inputs.sdist == true
5363 runs-on : ubuntu-latest
5464 steps :
55- - uses : actions/checkout@v5
65+ - uses : actions/checkout@v6
5666 with :
57- fetch-depth : 150
58- fetch-tags : true
5967 persist-credentials : false
60-
68+
69+ - uses : astral-sh/setup-uv@v7
70+
6171 - name : Build sdist
62- run : pipx run build --sdist
72+ run : uv build --sdist
6373
64- - uses : actions/upload-artifact@v4
74+ - uses : actions/upload-artifact@v6
6575 with :
6676 name : sdist
6777 path : dist/*.tar.gz
6878
69- gather :
70- name : Gather Packages
71- needs : [wheels, sdist]
72- runs-on : ubuntu-latest
73- steps :
74- - uses : actions/download-artifact@v5
75- with :
76- path : dist
77- merge-multiple : true
78-
79- - uses : actions/upload-artifact@v4
80- with :
81- name : dist
82- path : dist
0 commit comments