@@ -12,6 +12,24 @@ concurrency:
1212 cancel-in-progress : true
1313
1414jobs :
15+ build_sdist :
16+ name : Build source distribution
17+ runs-on : ubuntu-latest
18+ steps :
19+ - uses : actions/checkout@v4
20+
21+ - name : Build sdist
22+ shell : bash
23+ run : pipx run build --sdist
24+
25+ # - name: check metadata
26+ # run: pipx run twine check python/dist/*
27+
28+ - uses : actions/upload-artifact@v4
29+ with :
30+ name : cibw-sdist
31+ path : python/dist/*.tar.gz
32+
1533 build_wheels :
1634 name : Build wheel for ${{ matrix.python }}-${{ matrix.buildplat[1] }}
1735 runs-on : ${{ matrix.buildplat[0] }}
@@ -30,47 +48,38 @@ jobs:
3048 - [ubuntu-20.04, musllinux_x86_64] # No OpenBlas, no test
3149 - [ubuntu-20.04, musllinux_i686]
3250 - [ubuntu-20.04, musllinux_aarch64]
33- - [macos-12 , macosx_x86_64]
51+ - [macos-13 , macosx_x86_64]
3452 - [macos-14, macosx_arm64]
3553 - [windows-2019, win_amd64]
3654 - [windows-2019, win32]
37- python : ["cp38", "cp39","cp310", "cp311","cp312"]
55+ python : ["cp38", "cp39","cp310", "cp311","cp312", "cp313" ]
3856
3957 steps :
4058 - uses : actions/checkout@v4
59+
4160 - name : Set up QEMU # Required for aarch64 builds
4261 if : ${{ contains(matrix.buildplat[1], 'aarch64') }}
4362 uses : docker/setup-qemu-action@v3
4463 with :
4564 platforms : all
65+
4666 - name : Build wheels (aarch64)
4767 if : ${{ contains(matrix.buildplat[1], 'aarch64') }}
48- uses : pypa/cibuildwheel@v2.19
68+ uses : pypa/cibuildwheel@v2.21
4969 env :
5070 CIBW_BUILD : ${{ matrix.python }}-${{ matrix.buildplat[1] }}
5171 CIBW_ARCHS_LINUX : aarch64
72+
5273 - name : Build wheels (not aarch64)
5374 if : ${{ !contains(matrix.buildplat[1], 'aarch64') }}
54- uses : pypa/cibuildwheel@v2.19
75+ uses : pypa/cibuildwheel@v2.21
5576 env :
5677 CIBW_BUILD : ${{ matrix.python }}-${{ matrix.buildplat[1] }}
57- - uses : actions/upload-artifact@v3
58- with :
59- path : ./wheelhouse/*.whl
60-
61- build_sdist :
62- name : Build source distribution
63- runs-on : ubuntu-latest
64- steps :
65- - uses : actions/checkout@v4
66-
67- - name : Build sdist
68- shell : bash -l {0}
69- run : pipx run build --sdist
7078
71- - uses : actions/upload-artifact@v3
79+ - uses : actions/upload-artifact@v4
7280 with :
73- path : dist/*.tar.gz
81+ name : cibw-wheels-${{ matrix.python }}-${{ matrix.buildplat[1] }}
82+ path : wheelhouse/*.whl
7483
7584 # upload_testpypi:
7685 # name: >-
@@ -88,12 +97,11 @@ jobs:
8897 # permissions:
8998 # id-token: write # IMPORTANT: mandatory for trusted publishing
9099 # steps:
91- # - uses: actions/download-artifact@v3
100+ # - uses: actions/download-artifact@v4
92101 # with:
93- # # unpacks default artifact into dist/
94- # # if `name: artifact` is omitted, the action will create extra parent dir
95- # name: artifact
102+ # pattern: cibw-*
96103 # path: dist
104+ # merge-multiple: true
97105
98106 # - name: Download all
99107 # uses: pypa/gh-action-pypi-publish@release/v1
@@ -107,7 +115,7 @@ jobs:
107115 needs : [build_wheels, build_sdist]
108116
109117 # upload to PyPI on every tag starting with 'v'
110- if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
118+ # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
111119
112120 environment :
113121 name : pypi
@@ -117,12 +125,11 @@ jobs:
117125 id-token : write # IMPORTANT: mandatory for trusted publishing
118126
119127 steps :
120- - uses : actions/download-artifact@v3
128+ - uses : actions/download-artifact@v4
121129 with :
122- # unpacks default artifact into dist/
123- # if `name: artifact` is omitted, the action will create extra parent dir
124- name : artifact
130+ pattern : cibw-*
125131 path : dist
132+ merge-multiple : true
126133
127134 - name : Download all
128135 uses : pypa/gh-action-pypi-publish@release/v1
0 commit comments