Skip to content

Commit 077445a

Browse files
committed
Speedup CI by merging checkers with matrix
1. This reduces the number of parallel jobs, removing time waiting for additional runners, removing the time that the very long build jobs are just waiting and doing nothing. 2. Spending less time setting up and installing in these checkers jobs Each step will still print out its errors. Checkers are still kept separate from build jobs to not "leak" anything into them or make them any longer. Also used the new allow-prereleases to simplify the python-version matrix.
1 parent 420e4a5 commit 077445a

File tree

1 file changed

+12
-24
lines changed

1 file changed

+12
-24
lines changed

.github/workflows/main.yml

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev"]
25+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
2626
architecture: ["x64", "x86"]
2727

2828
steps:
@@ -36,6 +36,7 @@ jobs:
3636
cache: pip
3737
cache-dependency-path: .github/workflows/main.yml
3838
check-latest: true
39+
allow-prereleases: true
3940

4041
- name: Fix user Scripts missing from PATH
4142
if: matrix.architecture == 'x86'
@@ -98,7 +99,7 @@ jobs:
9899
fail-fast: false
99100
matrix:
100101
# pythonarm64 NuGet's has no download for Python ~=3.9.11
101-
python-version: ["3.9.10", "3.10", "3.11", "3.12", "3.13", "3.14-dev"]
102+
python-version: ["3.9.10", "3.10", "3.11", "3.12", "3.13", "3.14"]
102103
steps:
103104
- uses: actions/checkout@v4
104105

@@ -110,9 +111,10 @@ jobs:
110111
cache: pip
111112
cache-dependency-path: .github/workflows/main.yml
112113
check-latest: true
114+
allow-prereleases: true
113115

114116
- name: Install build module
115-
run: pip install --upgrade build
117+
run: pip install --upgrade build
116118

117119
- name: Obtain ARM64 library files
118120
run: python .github\workflows\download-arm64-libs.py .\arm64libs
@@ -173,13 +175,13 @@ jobs:
173175
if ($LastExitCode -ne 0) { exit $LastExitCode }
174176
if: ${{ !cancelled() }}
175177
176-
mypy:
178+
type-checkers:
177179
runs-on: windows-2019
178180
timeout-minutes: 20
179181
strategy:
180182
fail-fast: false
181183
matrix:
182-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
184+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
183185
steps:
184186
- uses: actions/checkout@v4
185187
- uses: actions/setup-python@v5
@@ -188,28 +190,14 @@ jobs:
188190
cache: pip
189191
cache-dependency-path: .github/workflows/main.yml
190192
check-latest: true
191-
- run: pip install types-setuptools PyOpenGL mypy[faster-cache]==1.14.*
193+
allow-prereleases: true
194+
- run: pip install types-setuptools PyOpenGL mypy[faster-cache]==1.15.*
195+
192196
- run: mypy . --python-version=${{ matrix.python-version }}
193197

194-
pyright:
195-
runs-on: windows-2019
196-
timeout-minutes: 20
197-
strategy:
198-
fail-fast: false
199-
matrix:
200-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14-dev"]
201-
steps:
202-
- uses: actions/checkout@v4
203-
- uses: actions/setup-python@v5
204-
with:
205-
python-version: ${{ matrix.python-version }}
206-
cache: pip
207-
cache-dependency-path: .github/workflows/main.yml
208-
check-latest: true
209-
# pyright vendors typeshed, but let's make sure we have the most up to date stubs
210-
- run: pip install types-setuptools PyOpenGL
211198
- uses: jakebailey/pyright-action@v2
212199
with:
213200
python-version: ${{ matrix.python-version }}
214-
version: "1.1.396"
201+
version: "1.1.400"
215202
annotate: errors
203+
if: ${{ !cancelled() }} # Show issues even if the previous steps failed. But still fail the job

0 commit comments

Comments
 (0)