@@ -3,62 +3,61 @@ name: CI
33on :
44 workflow_call :
55 push :
6- branches : [ "main" ]
6+ branches : ["main"]
77 pull_request :
8- branches : [ "main" ]
8+ branches : ["main"]
99
1010jobs :
1111 test :
1212 runs-on : ubuntu-latest
1313
1414 steps :
15- - uses : actions/checkout@v4
16- -
uses :
prefix-dev/[email protected] 17- with :
18- environments : default
19- cache : true
15+ - uses : actions/checkout@v4
16+ -
uses :
prefix-dev/[email protected] 17+ with :
18+ environments : default
19+ cache : true
2020
21- - name : Re-install local
22- run : |
23- pixi run rebuild
24-
25- - name : Lint with ruff
26- run : |
27- pixi run lint
28- - name : Lint with cython-lint
29- run : |
30- pixi run cython-lint
31- - name : Format with black
32- run : |
33- pixi run fmt
34- - name : Type check with mypy
35- run : |
36- pixi run type
37- - name : Test with pytest
38- run : |
39- pixi run test
40- - name : Test with doctest
41- shell : bash
42- run : |
43- pixi run doc
44- CMD=doctest pixi run doc
45- - name : Test coverage
46- shell : bash
47- run : |
48- FMT=xml pixi run test-coverage
49- - name : Upload coverage reports to Codecov
50- uses : codecov/codecov-action@v5
51- with :
52- token : ${{ secrets.CODECOV_TOKEN }}
53- - name : Build SDist
54- run : |
55- pixi run build-sdist
56- - name : Store artifacts
57- uses : actions/upload-artifact@v4
58- with :
59- name : cibw-sdist
60- path : dist/*.tar.gz
21+ - name : Re-install local
22+ run : |
23+ pixi run rebuild
6124
25+ - name : Lint with ruff
26+ run : |
27+ pixi run lint
28+ - name : Lint with cython-lint
29+ run : |
30+ pixi run cython-lint
31+ - name : Format with black
32+ run : |
33+ pixi run fmt
34+ - name : Type check with mypy
35+ run : |
36+ pixi run type
37+ - name : Test with pytest
38+ run : |
39+ pixi run test
40+ - name : Test with doctest
41+ shell : bash
42+ run : |
43+ pixi run doc
44+ CMD=doctest pixi run doc
45+ - name : Test coverage
46+ shell : bash
47+ run : |
48+ FMT=xml pixi run test-coverage
49+ - name : Upload coverage reports to Codecov
50+ uses : codecov/codecov-action@v5
51+ with :
52+ token : ${{ secrets.CODECOV_TOKEN }}
53+ - name : Build SDist
54+ run : |
55+ pixi run build-sdist
56+ - name : Store artifacts
57+ uses : actions/upload-artifact@v4
58+ with :
59+ name : cibw-sdist
60+ path : dist/*.tar.gz
6261
6362 build :
6463 strategy :
@@ -68,10 +67,10 @@ jobs:
6867 runs-on : ${{ matrix.os }}
6968 needs : test
7069 steps :
71- - uses : actions/checkout@v4
72- - name : Build wheels
73- 74- env :
70+ - uses : actions/checkout@v4
71+ - name : Build wheels
72+ 73+ env :
7574 CIBW_BUILD : cp3*-*
7675 CIBW_SKIP : pp* *i686* *musllinux* *-macosx_universal2 *-manylinux_ppc64le *-manylinux_s390x
7776 CIBW_PROJECT_REQUIRES_PYTHON : " >=3.10"
8786 CIBW_CONFIG_SETTINGS_WINDOWS : " setup-args=--vsenv"
8887 # Include free-threaded support
8988 CIBW_ENABLE : cpython-freethreading
90- - name : Upload package
91- uses : actions/upload-artifact@v4
92- with :
93- name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
94- path : ./wheelhouse/*.whl
89+ # Numpy, scipy, Cython only have free-threaded wheels on scientific-python-nightly-wheels
90+ CIBW_BUILD_FRONTEND='pip; args : --pre --extra-index-url "https://pypi.anaconda.org/scientific-python-nightly-wheels/simple" --only-binary :all:'
91+ - name : Upload package
92+ uses : actions/upload-artifact@v4
93+ with :
94+ name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
95+ path : ./wheelhouse/*.whl
0 commit comments