|
14 | 14 | # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix |
15 | 15 | name: ${{ matrix.config.name }} |
16 | 16 | runs-on: ${{ matrix.config.os }} |
| 17 | + # Allow specifying a container per-matrix to avoid duplicating jobs |
| 18 | + container: ${{ matrix.config.container }} |
17 | 19 |
|
18 | 20 | strategy: |
19 | 21 | fail-fast: false |
@@ -104,15 +106,17 @@ jobs: |
104 | 106 | cxxver: 20, |
105 | 107 | } |
106 | 108 | - { |
107 | | - name: "Linux g++ 15 C++17", |
| 109 | + name: "Linux g++ 15 (Debian) C++17", |
108 | 110 | os: ubuntu-24.04, |
| 111 | + container: debian:testing, |
109 | 112 | buildtype: Release, |
110 | 113 | cxx: "g++-15", |
111 | 114 | cxxver: 17, |
112 | 115 | } |
113 | 116 | - { |
114 | | - name: "Linux g++ 15 C++20", |
| 117 | + name: "Linux g++ 15 (Debian) C++20", |
115 | 118 | os: ubuntu-24.04, |
| 119 | + container: debian:testing, |
116 | 120 | buildtype: Release, |
117 | 121 | cxx: "g++-15", |
118 | 122 | cxxver: 20, |
@@ -488,13 +492,21 @@ jobs: |
488 | 492 |
|
489 | 493 | - name: Install g++ 15 |
490 | 494 | id: install_gcc_15 |
491 | | - if: startsWith(matrix.config.os, 'ubuntu') && ( matrix.config.cxx == 'g++-15' ) |
| 495 | + if: startsWith(matrix.config.os, 'ubuntu') && ( matrix.config.cxx == 'g++-15' ) && ( !matrix.config.container ) |
492 | 496 | shell: bash |
493 | 497 | working-directory: ${{ env.HOME }} |
494 | 498 | run: | |
495 | 499 | sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa |
496 | 500 | sudo apt-get install g++-15 |
497 | 501 |
|
| 502 | + - name: Install GCC 15 and tools (Debian container) |
| 503 | + if: matrix.config.container == 'debian:testing' && matrix.config.cxx == 'g++-15' |
| 504 | + shell: bash |
| 505 | + run: | |
| 506 | + apt-get update |
| 507 | + DEBIAN_FRONTEND=noninteractive apt-get install -y \ |
| 508 | + g++-15 cmake ninja-build build-essential pkg-config |
| 509 | +
|
498 | 510 | - name: Install MSVC 2017 |
499 | 511 | id: install_msvc_2017 |
500 | 512 | if: startsWith(matrix.config.os, 'windows-2019') && ( matrix.config.cxx == 'cl' ) && ( matrix.config.msvcver == 2017 ) |
@@ -563,3 +575,4 @@ jobs: |
563 | 575 | # Execute tests defined by the CMake configuration. |
564 | 576 | # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail |
565 | 577 | run: ctest --output-on-failure -C ${{ matrix.config.buildtype }} |
| 578 | + |
0 commit comments