Skip to content

Commit 662a88c

Browse files
authored
ci: speed up ci a bit by thinning out matrix (#5602)
* ci: speed up ci a bit by thinning out matrix Signed-off-by: Henry Schreiner <[email protected]> * Update configure.yml * Update configure.yml * Update configure.yml * ci: drop third build * ci: fix minor issues Signed-off-by: Henry Schreiner <[email protected]> * ci: trim a bit more Signed-off-by: Henry Schreiner <[email protected]> --------- Signed-off-by: Henry Schreiner <[email protected]>
1 parent a2951ab commit 662a88c

File tree

2 files changed

+25
-74
lines changed

2 files changed

+25
-74
lines changed

.github/workflows/ci.yml

+13-62
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,9 @@ jobs:
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
runs-on: [ubuntu-20.04, windows-2022, macos-13]
33+
runs-on: [ubuntu-22.04, windows-2022, macos-13]
3434
python:
3535
- '3.8'
36-
- '3.9'
37-
- '3.12'
3836
- '3.13'
3937
- 'pypy-3.10'
4038
- 'pypy-3.11'
@@ -47,28 +45,28 @@ jobs:
4745
# We support an optional key: args, for cmake args
4846
include:
4947
# Just add a key
50-
- runs-on: ubuntu-20.04
48+
- runs-on: ubuntu-22.04
5149
python: '3.8'
5250
args: >
5351
-DPYBIND11_FINDPYTHON=OFF
5452
-DCMAKE_CXX_FLAGS="-D_=1"
5553
-DPYBIND11_NUMPY_1_ONLY=ON
5654
exercise_D_: 1
57-
- runs-on: windows-2019
55+
- runs-on: windows-2022
5856
python: '3.8'
5957
args: >
6058
-DPYBIND11_FINDPYTHON=OFF
61-
# Inject a couple Windows 2019 runs
59+
# Inject a Windows 2019 run
6260
- runs-on: windows-2019
6361
python: '3.9'
6462
# Inject a few runs with different runtime libraries
6563
- runs-on: windows-2022
66-
python: '3.9'
64+
python: '3.8'
6765
args: >
6866
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
6967
-DPYBIND11_NUMPY_1_ONLY=ON
7068
- runs-on: windows-2022
71-
python: '3.10'
69+
python: '3.9'
7270
args: >
7371
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL
7472
# This needs a python built with MTd
@@ -77,28 +75,25 @@ jobs:
7775
# args: >
7876
# -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug
7977
- runs-on: windows-2022
80-
python: '3.12'
78+
python: '3.13'
8179
args: >
8280
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL
83-
# Extra ubuntu latest job
84-
- runs-on: ubuntu-latest
85-
python: '3.11'
8681
# Run tests with py::smart_holder as the default holder
8782
# with recent (or ideally latest) released Python version.
8883
- runs-on: ubuntu-latest
8984
python: '3.12'
9085
args: >
9186
-DCMAKE_CXX_FLAGS="-DPYBIND11_RUN_TESTING_WITH_SMART_HOLDER_AS_DEFAULT_BUT_NEVER_USE_IN_PRODUCTION_PLEASE"
9287
- runs-on: macos-13
93-
python: '3.12'
88+
python: '3.11'
9489
args: >
9590
-DCMAKE_CXX_FLAGS="-DPYBIND11_RUN_TESTING_WITH_SMART_HOLDER_AS_DEFAULT_BUT_NEVER_USE_IN_PRODUCTION_PLEASE"
9691
- runs-on: windows-2022
97-
python: '3.12'
92+
python: '3.10'
9893
args: >
9994
-DCMAKE_CXX_FLAGS="/DPYBIND11_RUN_TESTING_WITH_SMART_HOLDER_AS_DEFAULT_BUT_NEVER_USE_IN_PRODUCTION_PLEASE /GR /EHsc"
100-
- python: 'graalpy-24.1'
101-
runs-on: 'ubuntu-latest'
95+
- runs-on: 'ubuntu-latest'
96+
python: 'graalpy-24.1'
10297
exclude:
10398
# The setup-python action currently doesn't have graalpy for windows
10499
# See https://github.com/actions/setup-python/pull/880
@@ -200,24 +195,6 @@ jobs:
200195
- name: C++ tests
201196
run: cmake --build build2 --target cpptest
202197

203-
# Third build - C++17 mode with unstable ABI
204-
- name: Configure (unstable ABI)
205-
run: >
206-
cmake -S . -B build3
207-
-DPYBIND11_WERROR=ON
208-
-DPYBIND11_PYTEST_ARGS=-v
209-
-DDOWNLOAD_CATCH=ON
210-
-DDOWNLOAD_EIGEN=ON
211-
-DCMAKE_CXX_STANDARD=17
212-
-DPYBIND11_INTERNALS_VERSION=10000000
213-
${{ matrix.args }}
214-
215-
- name: Build (unstable ABI)
216-
run: cmake --build build3 -j 2
217-
218-
- name: Python tests (unstable ABI)
219-
run: cmake --build build3 --target pytest
220-
221198
- name: Interface test
222199
run: cmake --build build2 --target test_cmake_build
223200

@@ -273,7 +250,7 @@ jobs:
273250
python-debug: false
274251

275252
name: "🐍 ${{ matrix.python-version }}${{ matrix.python-debug && '-dbg' || '' }} (deadsnakes)${{ matrix.valgrind && ' • Valgrind' || '' }} • x64"
276-
runs-on: ubuntu-20.04
253+
runs-on: ubuntu-latest
277254

278255
steps:
279256
- uses: actions/checkout@v4
@@ -346,28 +323,16 @@ jobs:
346323
strategy:
347324
fail-fast: false
348325
matrix:
349-
container_suffix:
350-
- ""
351326
include:
352327
- clang: 5
353328
std: 14
354329
- clang: 11
355330
std: 20
356-
- clang: 12
357-
std: 20
358-
- clang: 13
359-
std: 20
360331
- clang: 14
361332
std: 20
362-
- clang: 15
363-
std: 20
364-
container_suffix: "-bullseye"
365333
- clang: 16
366334
std: 20
367335
container_suffix: "-bullseye"
368-
- clang: 17
369-
std: 20
370-
container_suffix: "-bookworm"
371336
- clang: 18
372337
std: 20
373338
container_suffix: "-bookworm"
@@ -531,8 +496,6 @@ jobs:
531496
- { gcc: 9, std: 20 }
532497
- { gcc: 10, std: 17 }
533498
- { gcc: 10, std: 20 }
534-
- { gcc: 11, std: 20 }
535-
- { gcc: 12, std: 20 }
536499
- { gcc: 13, std: 20 }
537500

538501
name: "🐍 3 • GCC ${{ matrix.gcc }} • C++${{ matrix.std }}• x64"
@@ -831,20 +794,12 @@ jobs:
831794
matrix:
832795
python:
833796
- '3.8'
834-
- '3.9'
835797
- '3.10'
836-
- '3.11'
837-
- '3.12'
798+
- '3.13'
838799

839800
include:
840-
- python: '3.12'
841-
args: -DCMAKE_CXX_STANDARD=20
842-
- python: '3.11'
843-
args: -DCMAKE_CXX_STANDARD=20
844801
- python: '3.10'
845802
args: -DCMAKE_CXX_STANDARD=20
846-
- python: '3.9'
847-
args: -DCMAKE_CXX_STANDARD=20
848803
- python: '3.8'
849804
args: -DCMAKE_CXX_STANDARD=17
850805

@@ -892,10 +847,6 @@ jobs:
892847
strategy:
893848
fail-fast: false
894849
matrix:
895-
python:
896-
- 3.8
897-
- 3.9
898-
899850
include:
900851
- python: 3.9
901852
args: -DCMAKE_CXX_STANDARD=20

.github/workflows/configure.yml

+12-12
Original file line numberDiff line numberDiff line change
@@ -24,38 +24,38 @@ jobs:
2424
strategy:
2525
fail-fast: false
2626
matrix:
27-
runs-on: [ubuntu-22.04, macos-13, windows-latest]
28-
arch: [x64]
29-
cmake: ["3.26"]
30-
3127
include:
3228
- runs-on: ubuntu-22.04
33-
arch: x64
3429
cmake: "3.15"
3530

3631
- runs-on: ubuntu-22.04
37-
arch: x64
32+
cmake: "3.26"
33+
34+
- runs-on: ubuntu-22.04
3835
cmake: "3.29"
3936

4037
- runs-on: macos-13
41-
arch: x64
4238
cmake: "3.15"
4339

40+
- runs-on: macos-14
41+
cmake: "4.0"
42+
4443
- runs-on: windows-2019
45-
arch: x64 # x86 compilers seem to be missing on 2019 image
4644
cmake: "3.18"
4745

48-
name: 🐍 3.8 • CMake ${{ matrix.cmake }} • ${{ matrix.runs-on }}
46+
- runs-on: windows-latest
47+
cmake: "4.0"
48+
49+
name: 🐍 3.11 • CMake ${{ matrix.cmake }} • ${{ matrix.runs-on }}
4950
runs-on: ${{ matrix.runs-on }}
5051

5152
steps:
5253
- uses: actions/checkout@v4
5354

54-
- name: Setup Python 3.8
55+
- name: Setup Python 3.11
5556
uses: actions/setup-python@v5
5657
with:
57-
python-version: 3.8
58-
architecture: ${{ matrix.arch }}
58+
python-version: 3.11
5959

6060
- name: Prepare env
6161
run: python -m pip install -r tests/requirements.txt

0 commit comments

Comments
 (0)