@@ -30,63 +30,54 @@ jobs:
3030 strategy :
3131 matrix :
3232 os : [ubuntu-latest, macos-latest, windows-latest]
33- python-version : ["3.11", "3.12", "3.13"]
34- cibuildwheel : ["cp311", "cp312", "cp313"]
35- exclude :
36- - python-version : " 3.11"
37- cibuildwheel : " cp312"
38- - python-version : " 3.11"
39- cibuildwheel : " cp313"
40- - python-version : " 3.12"
41- cibuildwheel : " cp311"
42- - python-version : " 3.12"
43- cibuildwheel : " cp313"
44- - python-version : " 3.13"
33+ python :
34+ - version : " 3.11"
4535 cibuildwheel : " cp311"
46- - python-version : " 3.13"
36+ primary : true
37+ - version : " 3.12"
4738 cibuildwheel : " cp312"
39+ primary : false
40+ - version : " 3.13"
41+ cibuildwheel : " cp313"
42+ primary : false
4843
4944 steps :
50- - uses : actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
45+ - uses : actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
46+ with :
47+ persist-credentials : false
5148
52- - uses : actions-ext/python/setup@main
49+ - uses : actions-ext/python/setup@6e1b91a408ea89f49bc8aff8724f83826f7b5446
5350 with :
54- version : ${{ matrix.python- version }}
51+ version : ${{ matrix.python. version }}
5552
56- - name : Install dependencies
57- run : make develop
58- if : matrix.os != 'windows-latest'
53+ - uses : actions-ext/cpp/setup@51c484ef64088c62434226039d0e3359f5fc8df6
5954
6055 - name : Install dependencies
61- run : |
62- for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do call "%%i\VC\Auxiliary\Build\vcvars64.bat"
63- make develop
64- shell : cmd
65- if : matrix.os == 'windows-latest'
56+ run : make develop
6657
6758 - name : Lint
6859 run : make lint
69- if : matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
60+ if : matrix.os == 'ubuntu-latest' && matrix.python.primary
7061
7162 - name : Checks
7263 run : make checks
73- if : matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
64+ if : matrix.os == 'ubuntu-latest' && matrix.python.primary
7465
7566 - name : Test
7667 run : make coverage
7768
7869 - name : Upload test results (Python)
79- uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
70+ uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
8071 with :
81- name : test-results-${{ matrix.os }}-${{ matrix.python- version }}
72+ name : test-results-${{ matrix.os }}-${{ matrix.python. version }}
8273 path : junit.xml
83- if : matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
74+ if : matrix.os == 'ubuntu-latest' && matrix.python.primary
8475
8576 - name : Publish Unit Test Results
8677 uses : EnricoMi/publish-unit-test-result-action@d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
8778 with :
8879 files : ' **/junit.xml'
89- if : matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
80+ if : matrix.os == 'ubuntu-latest' && matrix.python.primary
9081
9182 - name : Upload coverage
9283 uses : codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
10394 make dist-py-wheel
10495 make dist-check
10596 env :
106- CIBW_BUILD : " ${{ matrix.cibuildwheel }}-manylinux*"
97+ CIBW_BUILD : " ${{ matrix.python. cibuildwheel }}-manylinux*"
10798 CIBW_BUILD_VERBOSITY : 3
10899 if : matrix.os == 'ubuntu-latest'
109100
@@ -112,32 +103,29 @@ jobs:
112103 rm -rf dist
113104 make dist-py-wheel
114105 env :
115- CIBW_BUILD : " ${{ matrix.cibuildwheel }}-macos*"
106+ CIBW_BUILD : " ${{ matrix.python. cibuildwheel }}-macos*"
116107 CIBW_BUILD_VERBOSITY : 3
117108 if : matrix.os == 'macos-latest'
118109
119110 - name : Make dist (Windows)
120111 run : |
121- if exist dist rmdir /s /q dist
122- for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do call "%%i\VC\Auxiliary\Build\vcvars64.bat"
112+ if (Test-Path dist) { Remove-Item dist -Recurse -Force }
123113 make dist-py-wheel
124- shell : cmd
125114 env :
126- CIBW_BUILD : " ${{ matrix.cibuildwheel }}-win_amd64"
127- CIBW_BEFORE_ALL : for /f "usebackq tokens=*" %i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do call "%i\VC\Auxiliary\Build\vcvars64.bat"
115+ CIBW_BUILD : " ${{ matrix.python.cibuildwheel }}-win_amd64"
128116 if : matrix.os == 'windows-latest'
129117
130- - uses : actions-ext/python/test-wheel@main
118+ - uses : actions-ext/python/test-wheel@6e1b91a408ea89f49bc8aff8724f83826f7b5446
131119 with :
132120 module : python_template_cpp
133121 if : matrix.os == 'ubuntu-latest'
134122
135- - uses : actions-ext/python/test-sdist@main
123+ - uses : actions-ext/python/test-sdist@6e1b91a408ea89f49bc8aff8724f83826f7b5446
136124 with :
137125 module : python_template_cpp
138126 if : matrix.os == 'ubuntu-latest'
139127
140- - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
128+ - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
141129 with :
142- name : dist-${{matrix.os}}-${{matrix.python- version}}
130+ name : dist-${{matrix.os}}-${{matrix.python. version}}
143131 path : dist
0 commit comments