11name : Build and upload to PyPI
22
33on :
4- pull_request :
5- release :
6- types :
7- - published
4+ - push
85
96jobs :
107 build_wheels :
118 name : Build wheels on ${{ matrix.os }}
129 runs-on : ${{ matrix.os }}
1310 strategy :
1411 matrix :
15- os : [ubuntu-20.04, windows-2019, macos-12 ]
12+ os : [ubuntu-20.04]
1613
1714 steps :
1815 - uses : actions/checkout@v4
@@ -22,73 +19,12 @@ jobs:
2219 with :
2320 platforms : all
2421 - name : Set up micromamba
25- uses : mamba-org/setup-micromamba@f8b8a1e23a26f60a44c853292711bacfd3eac822
26- - name : Build wheels
27- if : github.event_name != 'release'
28- uses : pypa/cibuildwheel@v2.21.3
29- env :
30- CIBW_ARCHS_LINUX : auto
31- CIBW_ARCHS_MACOS : x86_64 arm64
32- CIBW_TEST_SKIP : ' *-macosx_arm64'
22+ uses : mamba-org/setup-micromamba@0dea6379afdaffa5d528b3d1dabc45da37f443fc
3323 - name : Build wheels (release)
34- if : github.event_name == 'release' && github.event.action == 'published'
35- uses : pypa/cibuildwheel@v2.21.3
24+ uses : pypa/cibuildwheel@v2.22.0
3625 env :
37- CIBW_ARCHS_LINUX : x86_64 aarch64
38- CIBW_ARCHS_MACOS : x86_64 arm64
39- CIBW_TEST_SKIP : ' *-macosx_arm64'
26+ CIBW_ARCHS_LINUX : aarch64
4027 - uses : actions/upload-artifact@v4
4128 with :
4229 name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
4330 path : ./wheelhouse/*.whl
44-
45- build_sdist :
46- name : Build source distribution
47- runs-on : ubuntu-latest
48- steps :
49- - uses : actions/checkout@v4
50- - uses : actions/setup-python@v5
51- name : Install Python
52- with :
53- python-version : ' 3.10'
54- - name : Install build dependencies
55- run : python -m pip install setuptools setuptools-scm wheel mako numpy 'Cython!=3.0.4'
56- - name : Build sdist
57- run : python setup.py sdist
58- - uses : actions/upload-artifact@v4
59- with :
60- path : dist/*.tar.gz
61-
62- upload_testpypi :
63- if : github.event_name == 'release' && github.event.action == 'published'
64- needs : [build_wheels, build_sdist]
65- runs-on : ubuntu-latest
66- environment :
67- name : release
68- url : https://test.pypi.org/p/tabmat
69- permissions :
70- id-token : write
71- steps :
72- - uses : actions/download-artifact@v4
73- with :
74- merge-multiple : true
75- path : dist
76- - uses : pypa/gh-action-pypi-publish@v1.11.0
77- with :
78- repository-url : https://test.pypi.org/legacy/
79-
80- upload_pypi :
81- if : github.event_name == 'release' && github.event.action == 'published'
82- needs : [build_wheels, build_sdist, upload_testpypi]
83- runs-on : ubuntu-latest
84- environment :
85- name : release
86- url : https://pypi.org/p/tabmat
87- permissions :
88- id-token : write
89- steps :
90- - uses : actions/download-artifact@v4
91- with :
92- merge-multiple : true
93- path : dist
94- - uses : pypa/gh-action-pypi-publish@v1.11.0
0 commit comments