11name : Publish to PyPI
22
33on :
4- release :
5- types : [published]
4+ push :
5+ branches :
6+ - main
67
78jobs :
89 build :
@@ -12,48 +13,74 @@ jobs:
1213 os : [ubuntu-latest, windows-latest, macos-latest]
1314
1415 steps :
15- - name : Checkout code
16- uses : actions/checkout@v3
16+ - uses : actions/checkout@v4
1717
18- - name : Set up Python
19- uses : actions/setup-python@v4
20- with :
21- python-version : 3.11
18+ - uses : actions/setup-python@v5
2219
2320 - name : Install build tools
24- run : pip install build twine wheel cibuildwheel
21+ run : python -m pip install cibuildwheel
2522
2623 - name : Build wheel with cibuildwheel
2724 env :
28- CIBW_BUILD : cp37-*,cp38-*,cp39-*,cp310-*,cp311-*,cp312-*,cp313-*,cp314-*
29- run : cibuildwheel --output-dir wheelhouse
25+ CIBW_BUILD : " cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*"
26+ CIBW_BEFORE_BUILD : pip install cffi
27+ run : python -m cibuildwheel --output-dir wheelhouse
3028
3129 - name : Upload wheels
32- uses : actions/upload-artifact@v3
30+ uses : actions/upload-artifact@v4
3331 with :
3432 name : wheels-${{ matrix.os }}
3533 path : wheelhouse/
3634
35+ build-dist-artifacts :
36+ runs-on : ubuntu-latest
37+
38+ steps :
39+ - uses : actions/checkout@v4
40+
41+ - uses : actions/setup-python@v5
42+
43+ - name : Install build tools
44+ run : pip install build twine wheel cython
45+
46+ - name : Compile and Build package
47+ run : python setup.py sdist bdist_wheel
48+
49+ - name : Upload dist
50+ uses : actions/upload-artifact@v4
51+ with :
52+ name : dist
53+ path : dist/
54+
3755 publish :
38- needs : build
56+ needs :
57+ - build
58+ - build-dist-artifacts
3959 runs-on : ubuntu-latest
4060
4161 steps :
4262 - name : Download wheels
43- uses : actions/download-artifact@v3
63+ uses : actions/download-artifact@v4
4464 with :
4565 name : wheels-ubuntu-latest
66+
4667 - name : Download wheels
47- uses : actions/download-artifact@v3
68+ uses : actions/download-artifact@v4
4869 with :
4970 name : wheels-windows-latest
71+
5072 - name : Download wheels
51- uses : actions/download-artifact@v3
73+ uses : actions/download-artifact@v4
5274 with :
5375 name : wheels-macos-latest
5476
55- - name : Combine wheels
56- run : mkdir dist && mv wheelhouse/* dist/
77+ - name : Download dist
78+ uses : actions/download-artifact@v4
79+ with :
80+ name : dist
5781
58- - name : Publish to PyPI
59- run : ls -la dist
82+ - name : Compile and Build package
83+ run : |
84+ ls -la
85+ mv wheelhouse/* dist/
86+ la -la dist
0 commit comments