diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index e918d2224c..15f91c4f84 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -58,11 +58,11 @@ jobs: - name: Build working-directory: asio - run: cmake --build build/coverage -j 2 + run: cmake --build build/coverage -j 4 - name: Test working-directory: asio/build/coverage - run: ctest --output-on-failure --no-tests=error -j 2 + run: ctest --output-on-failure --no-tests=error -j 4 - name: Process coverage info working-directory: asio @@ -89,7 +89,7 @@ jobs: - name: Build working-directory: asio - run: cmake --build build/sanitize -j 2 + run: cmake --build build/sanitize -j 4 - name: Test working-directory: asio/build/sanitize @@ -100,7 +100,7 @@ jobs: strict_init_order=1:\ detect_leaks=1" UBSAN_OPTIONS: print_stacktrace=1 - run: ctest --output-on-failure --no-tests=error -j 2 + run: ctest --output-on-failure --no-tests=error -j 4 test: needs: [lint] @@ -116,27 +116,39 @@ jobs: - name: Install static analyzers if: matrix.os == 'ubuntu-24.04' - run: >- - sudo apt-get install clang-tidy-18 cppcheck -y -q - - sudo update-alternatives --install - /usr/bin/clang-tidy clang-tidy - /usr/bin/clang-tidy-18 150 + run: | + sudo apt-get install cppcheck ninja-build -y -q + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 19 all + sudo update-alternatives --install \ + /usr/bin/clang-tidy clang-tidy \ + /usr/bin/clang-tidy-19 150 + + - name: Install llvm-19 + if: startsWith(matrix.os, 'macos') + run: | + brew install llvm@19 - name: Setup MultiToolTask if: matrix.os == 'windows-2022' + working-directory: asio run: | Add-Content "$env:GITHUB_ENV" 'UseMultiToolTask=true' Add-Content "$env:GITHUB_ENV" 'EnforceProcessCountAcrossBuilds=true' + cmake --preset=ci-windows - name: Configure - shell: pwsh + if: matrix.os != 'windows-2022' working-directory: asio + env: + CXX: clang++-19 + shell: pwsh run: cmake "--preset=ci-$("${{ matrix.os }}".split("-")[0])" - name: Build working-directory: asio - run: cmake --build build --config Release -j 2 + run: cmake --build build --config Release -j 4 - name: Install working-directory: asio @@ -144,7 +156,7 @@ jobs: - name: Test working-directory: asio/build - run: ctest --output-on-failure --no-tests=error -C Release -j 2 + run: ctest --output-on-failure --no-tests=error -C Release -j 4 docs: # Deploy docs only when builds succeed