From a69fbd3aaebc15dc5912e64724e5abfcef09bcdf Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Thu, 10 Apr 2025 20:13:07 +0300 Subject: [PATCH] CI: MSVC: Use fewer runners for the same number of tests Using eight runners seems wasteful. Using only two runners isn't much slower due to the runner startup overhead. Also add a comment about the test that fails without b5a5d9e3f702. --- .github/workflows/msvc.yml | 66 +++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 11 deletions(-) diff --git a/.github/workflows/msvc.yml b/.github/workflows/msvc.yml index 77a66486..4621a9fd 100644 --- a/.github/workflows/msvc.yml +++ b/.github/workflows/msvc.yml @@ -17,29 +17,73 @@ jobs: fail-fast: false matrix: os: [ windows-2019, windows-latest ] - arch: [ Win32, x64 ] - build: [ Debug, Release ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4.2.2 - - name: Configure + - name: Configure Win32 run: > cmake - -A ${{ matrix.arch }} - -B build-msvc + -A Win32 + -B build-msvc-win32 - - name: Build + - name: Build Win32 Debug run: > cmake - --build build-msvc - --config ${{ matrix.build }} + --build build-msvc-win32 + --config Debug - - name: Test + - name: Test Win32 Debug run: > ctest - --test-dir build-msvc - --build-config ${{ matrix.build }} + --test-dir build-msvc-win32 + --build-config Debug + --output-on-failure + + - name: Build Win32 Release + run: > + cmake + --build build-msvc-win32 + --config Release + + # This fails with VS 2019 without b5a5d9e3f702. + - name: Test Win32 Release + run: > + ctest + --test-dir build-msvc-win32 + --build-config Release + --output-on-failure + + - name: Configure x64 + run: > + cmake + -A x64 + -B build-msvc-x64 + + - name: Build x64 Debug + run: > + cmake + --build build-msvc-x64 + --config Debug + + - name: Test x64 Debug + run: > + ctest + --test-dir build-msvc-x64 + --build-config Debug + --output-on-failure + + - name: Build x64 Release + run: > + cmake + --build build-msvc-x64 + --config Release + + - name: Test x64 Release + run: > + ctest + --test-dir build-msvc-x64 + --build-config Release --output-on-failure