|
37 | 37 | compiler: [ {name: 'GCC 10', preset: gcc-10, pkgs: 'gcc-10 g++-10 lib32gcc-10-dev gcc-multilib'}, |
38 | 38 | {name: 'GCC 11', preset: gcc-11, pkgs: 'gcc-11 g++-11 lib32gcc-11-dev gcc-multilib'}, |
39 | 39 | {name: 'GCC 12', preset: gcc-12, pkgs: 'gcc-12 g++-12 lib32gcc-12-dev gcc-multilib'}, |
40 | | - {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'}, |
41 | | - {name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'}, |
42 | | - {name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'}, |
43 | 40 | {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} |
44 | 41 | ] |
45 | 42 | cxx: [17, 20] |
|
82 | 79 | shell: bash |
83 | 80 | run: ctest --preset test-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
84 | 81 |
|
| 82 | + # because of an bug in github actions: https://github.com/actions/runner-images/issues/8659 |
| 83 | + # we use clang 12, clang 13, clang 14 only in C++17 mode |
| 84 | + linux-clang-smaller-15: |
| 85 | + name: ${{ matrix.os }}, ${{ matrix.compiler.name }}, C++${{ matrix.cxx }}, ${{ matrix.buildtype }} |
| 86 | + runs-on: ${{ matrix.os }} |
| 87 | + strategy: |
| 88 | + fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails. |
| 89 | + matrix: |
| 90 | + os: [ubuntu-22.04] |
| 91 | + buildtype: [debug] |
| 92 | + compiler: [ {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'}, |
| 93 | + {name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'}, |
| 94 | + {name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'} |
| 95 | + ] |
| 96 | + cxx: [17] |
| 97 | + |
| 98 | + steps: |
| 99 | + - uses: actions/checkout@v3 |
| 100 | + |
| 101 | + - name: Cache |
| 102 | + uses: actions/cache@v3 |
| 103 | + env: |
| 104 | + cache-name: cache-conan-modules |
| 105 | + with: |
| 106 | + path: | |
| 107 | + ${{ env.CONAN_USER_HOME }} |
| 108 | + ~/.cache/pip |
| 109 | + key: ${{ runner.os }}-${{ env.BUILD_TYPE }}-${{ hashFiles('CMakeLists.txt') }}-${{ hashFiles('cmake/Conan.cmake') }} |
| 110 | + |
| 111 | + - name: Install conan |
| 112 | + shell: bash |
| 113 | + run: | |
| 114 | + python3 -m pip install --upgrade pip setuptools conan |
| 115 | + source ~/.profile |
| 116 | +
|
| 117 | + - name: Install dependencies |
| 118 | + run: | |
| 119 | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" |
| 120 | + sudo apt update |
| 121 | + sudo apt install ninja-build ${{ matrix.compiler.pkgs }} |
| 122 | + shell: bash |
| 123 | + |
| 124 | + - name: Configure via CMake |
| 125 | + shell: bash |
| 126 | + run: cmake --preset unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} -DCXX_STANDARD=${{ matrix.cxx }} |
| 127 | + |
| 128 | + - name: Build |
| 129 | + shell: bash |
| 130 | + run: cmake --build --preset build-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
| 131 | + |
| 132 | + - name: Test |
| 133 | + shell: bash |
| 134 | + run: ctest --preset test-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
| 135 | + |
85 | 136 | linux-static_analysis: |
86 | 137 | name: Static Analysis, ${{ matrix.os }}, ${{ matrix.compiler.name }}, ${{ matrix.buildtype }} |
87 | 138 | runs-on: ${{ matrix.os }} |
@@ -196,11 +247,7 @@ jobs: |
196 | 247 | matrix: |
197 | 248 | os: [ubuntu-22.04] |
198 | 249 | buildtype: [debug] |
199 | | - compiler: [ {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'}, |
200 | | - {name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'}, |
201 | | - {name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'}, |
202 | | - {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} |
203 | | - ] |
| 250 | + compiler: [ {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} ] |
204 | 251 |
|
205 | 252 | steps: |
206 | 253 | - uses: actions/checkout@v3 |
@@ -237,7 +284,7 @@ jobs: |
237 | 284 | run: cmake --build --preset build-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
238 | 285 |
|
239 | 286 | linux-qt: |
240 | | - name: ${{ matrix.os }}, ${{ matrix.compiler.name }}, C++${{ matrix.cxx }} |
| 287 | + name: ${{ matrix.os }}, QT ${{ matrix.compiler.name }}, C++${{ matrix.cxx }} |
241 | 288 | runs-on: ${{ matrix.os }} |
242 | 289 | strategy: |
243 | 290 | fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails. |
@@ -269,13 +316,13 @@ jobs: |
269 | 316 | run: | |
270 | 317 | sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" |
271 | 318 | sudo apt update |
272 | | - sudo apt install ninja-build ${{ matrix.compiler.pkgs }} libx11-xcb-dev libfontenc-dev libice-dev | |
273 | | - libsm-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev | |
274 | | - libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev | |
275 | | - libxss-dev libxt-dev libxtst-dev libxv-dev libxxf86vm-dev libxcb-render0-dev libxcb-render-util0-dev | |
276 | | - libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev | |
277 | | - libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-dri3-dev uuid-dev libxcb-cursor-dev | |
278 | | - libxcb-util-dev libxcb-util0-dev libx11-xcb1 libx11-xcb libx11-dev libgl-dev libgl1-mesa-dev | |
| 319 | + sudo apt install ninja-build ${{ matrix.compiler.pkgs }} libx11-xcb-dev libfontenc-dev libice-dev \ |
| 320 | + libsm-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev \ |
| 321 | + libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev \ |
| 322 | + libxss-dev libxt-dev libxtst-dev libxv-dev libxxf86vm-dev libxcb-render0-dev libxcb-render-util0-dev \ |
| 323 | + libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev \ |
| 324 | + libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-dri3-dev uuid-dev libxcb-cursor-dev \ |
| 325 | + libxcb-util-dev libxcb-util0-dev libx11-xcb1 libx11-dev libgl-dev libgl1-mesa-dev |
279 | 326 | shell: bash |
280 | 327 |
|
281 | 328 | - name: Configure via CMake |
|
0 commit comments