|
41 | 41 | compiler: [ {name: 'GCC 10', preset: gcc-10, pkgs: 'gcc-10 g++-10 lib32gcc-10-dev gcc-multilib'}, |
42 | 42 | {name: 'GCC 11', preset: gcc-11, pkgs: 'gcc-11 g++-11 lib32gcc-11-dev gcc-multilib'}, |
43 | 43 | {name: 'GCC 12', preset: gcc-12, pkgs: 'gcc-12 g++-12 lib32gcc-12-dev gcc-multilib'}, |
44 | | - {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'}, |
45 | | - {name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'}, |
46 | | - {name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'}, |
47 | 44 | {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} |
48 | 45 | ] |
49 | 46 | cxx: [17, 20] |
|
86 | 83 | shell: bash |
87 | 84 | run: ctest --preset test-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
88 | 85 |
|
| 86 | + # because of an bug in github actions: https://github.com/actions/runner-images/issues/8659 |
| 87 | + # we use clang 12, clang 13, clang 14 only in C++17 mode |
| 88 | + linux-clang-smaller-15: |
| 89 | + name: ${{ matrix.os }}, ${{ matrix.compiler.name }}, C++${{ matrix.cxx }}, ${{ matrix.buildtype }} |
| 90 | + runs-on: ${{ matrix.os }} |
| 91 | + strategy: |
| 92 | + fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails. |
| 93 | + matrix: |
| 94 | + os: [ubuntu-22.04] |
| 95 | + buildtype: [debug] |
| 96 | + compiler: [ {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'}, |
| 97 | + {name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'}, |
| 98 | + {name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'} |
| 99 | + ] |
| 100 | + cxx: [17] |
| 101 | + |
| 102 | + steps: |
| 103 | + - uses: actions/checkout@v3 |
| 104 | + |
| 105 | + - name: Cache |
| 106 | + uses: actions/cache@v3 |
| 107 | + env: |
| 108 | + cache-name: cache-conan-modules |
| 109 | + with: |
| 110 | + path: | |
| 111 | + ${{ env.CONAN_USER_HOME }} |
| 112 | + ~/.cache/pip |
| 113 | + key: ${{ runner.os }}-${{ env.BUILD_TYPE }}-${{ hashFiles('CMakeLists.txt') }}-${{ hashFiles('cmake/Conan.cmake') }} |
| 114 | + |
| 115 | + - name: Install conan |
| 116 | + shell: bash |
| 117 | + run: | |
| 118 | + python3 -m pip install --upgrade pip setuptools conan |
| 119 | + source ~/.profile |
| 120 | +
|
| 121 | + - name: Install dependencies |
| 122 | + run: | |
| 123 | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" |
| 124 | + sudo apt update |
| 125 | + sudo apt install ninja-build ${{ matrix.compiler.pkgs }} |
| 126 | + shell: bash |
| 127 | + |
| 128 | + - name: Configure via CMake |
| 129 | + shell: bash |
| 130 | + run: cmake --preset unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} -DCXX_STANDARD=${{ matrix.cxx }} |
| 131 | + |
| 132 | + - name: Build |
| 133 | + shell: bash |
| 134 | + run: cmake --build --preset build-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
| 135 | + |
| 136 | + - name: Test |
| 137 | + shell: bash |
| 138 | + run: ctest --preset test-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
| 139 | + |
89 | 140 | linux-static_analysis: |
90 | 141 | name: Static Analysis, ${{ matrix.os }}, ${{ matrix.compiler.name }}, ${{ matrix.buildtype }} |
91 | 142 | runs-on: ${{ matrix.os }} |
@@ -200,11 +251,7 @@ jobs: |
200 | 251 | matrix: |
201 | 252 | os: [ubuntu-22.04] |
202 | 253 | buildtype: [debug] |
203 | | - compiler: [ {name: 'Clang 12', preset: clang-12, pkgs: 'clang-12 llvm-12'}, |
204 | | - {name: 'Clang 13', preset: clang-13, pkgs: 'clang-13 llvm-13'}, |
205 | | - {name: 'Clang 14', preset: clang-14, pkgs: 'clang-14 llvm-14'}, |
206 | | - {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} |
207 | | - ] |
| 254 | + compiler: [ {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} ] |
208 | 255 |
|
209 | 256 | steps: |
210 | 257 | - uses: actions/checkout@v3 |
@@ -239,3 +286,57 @@ jobs: |
239 | 286 | - name: Build |
240 | 287 | shell: bash |
241 | 288 | run: cmake --build --preset build-unixlike-${{ matrix.compiler.preset }}-${{ matrix.buildtype }} |
| 289 | + |
| 290 | + linux-qt: |
| 291 | + name: ${{ matrix.os }}, QT ${{ matrix.compiler.name }}, C++${{ matrix.cxx }} |
| 292 | + runs-on: ${{ matrix.os }} |
| 293 | + strategy: |
| 294 | + fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails. |
| 295 | + matrix: |
| 296 | + os: [ubuntu-22.04] |
| 297 | + compiler: [ {name: 'Clang 15', preset: clang-15, pkgs: 'clang-15 llvm-15'} ] |
| 298 | + cxx: [20] |
| 299 | + |
| 300 | + steps: |
| 301 | + - uses: actions/checkout@v3 |
| 302 | + |
| 303 | + - name: Cache |
| 304 | + uses: actions/cache@v3 |
| 305 | + env: |
| 306 | + cache-name: cache-conan-modules |
| 307 | + with: |
| 308 | + path: | |
| 309 | + ${{ env.CONAN_USER_HOME }} |
| 310 | + ~/.cache/pip |
| 311 | + key: ${{ runner.os }}-${{ env.BUILD_TYPE }}-${{ hashFiles('CMakeLists.txt') }}-${{ hashFiles('cmake/Conan.cmake') }} |
| 312 | + |
| 313 | + - name: Install conan |
| 314 | + shell: bash |
| 315 | + run: | |
| 316 | + python3 -m pip install --upgrade pip setuptools conan |
| 317 | + source ~/.profile |
| 318 | +
|
| 319 | + - name: Install dependencies |
| 320 | + run: | |
| 321 | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" |
| 322 | + sudo apt update |
| 323 | + sudo apt install ninja-build ${{ matrix.compiler.pkgs }} libx11-xcb-dev libfontenc-dev libice-dev \ |
| 324 | + libsm-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev \ |
| 325 | + libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev \ |
| 326 | + libxss-dev libxt-dev libxtst-dev libxv-dev libxxf86vm-dev libxcb-render0-dev libxcb-render-util0-dev \ |
| 327 | + libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev \ |
| 328 | + libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-dri3-dev uuid-dev libxcb-cursor-dev \ |
| 329 | + libxcb-util-dev libxcb-util0-dev libx11-xcb1 libx11-dev libgl-dev libgl1-mesa-dev |
| 330 | + shell: bash |
| 331 | + |
| 332 | + - name: Configure via CMake |
| 333 | + shell: bash |
| 334 | + run: cmake --preset ${{ matrix.compiler.preset }}-qt -DCXX_STANDARD=${{ matrix.cxx }} |
| 335 | + |
| 336 | + - name: Build |
| 337 | + shell: bash |
| 338 | + run: cmake --build --preset build-${{ matrix.compiler.preset }}-qt |
| 339 | + |
| 340 | + - name: Test |
| 341 | + shell: bash |
| 342 | + run: ctest --preset test-${{ matrix.compiler.preset }}-qt |
0 commit comments