Skip to content

Commit 98c0daf

Browse files
committed
feat(ci): run four tests in parallel
Apparently we can run our tests in parallel just fine. On my local machine this cuts down the runtime from 3 minutes to around 50 seconds with a parallelism of 4: ```sh % for jobs in `seq 1 17`; do printf "--parallel %2d => " "$jobs" && time (ctest --parallel $jobs > /dev/null 2>&1); done --parallel 1 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 41.42s user 9.14s system 27% cpu 3:05.53 total --parallel 2 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 42.55s user 9.16s system 55% cpu 1:33.34 total --parallel 3 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 41.40s user 9.20s system 81% cpu 1:01.79 total --parallel 4 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 42.29s user 9.15s system 102% cpu 49.995 total --parallel 5 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 42.08s user 8.94s system 102% cpu 49.895 total --parallel 6 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 42.51s user 9.33s system 102% cpu 50.590 total --parallel 7 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 43.77s user 9.33s system 105% cpu 50.537 total --parallel 8 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 42.89s user 9.10s system 104% cpu 49.761 total --parallel 9 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 42.77s user 9.19s system 104% cpu 49.810 total --parallel 10 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 44.97s user 9.68s system 107% cpu 50.834 total --parallel 11 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 45.87s user 9.93s system 109% cpu 50.889 total --parallel 12 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 45.37s user 9.33s system 107% cpu 50.908 total --parallel 13 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 45.75s user 9.75s system 108% cpu 50.919 total --parallel 14 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 46.53s user 9.82s system 110% cpu 51.099 total --parallel 15 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 46.76s user 9.81s system 110% cpu 51.379 total --parallel 16 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 47.63s user 9.72s system 114% cpu 50.086 total --parallel 17 => ( ctest --parallel $jobs > /dev/null 2>&1; ) 46.05s user 9.23s system 110% cpu 49.938 total ``` Let's see if this applies to the test runs in CI too. Signed-off-by: Jyrki Gadinger <[email protected]>
1 parent e081de0 commit 98c0daf

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

.github/workflows/linux-clang-compile-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ jobs:
2424
cd build
2525
useradd -m -s /bin/bash test
2626
chown -R test:test .
27-
su -c 'xvfb-run ctest --output-on-failure' test
27+
su -c 'xvfb-run ctest --output-on-failure --parallel 4' test

.github/workflows/linux-gcc-compile-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ jobs:
2424
cd build
2525
useradd -m -s /bin/bash test
2626
chown -R test:test .
27-
su -c 'xvfb-run ctest --output-on-failure' test
27+
su -c 'xvfb-run ctest --output-on-failure --parallel 4' test

.github/workflows/macos-build-and-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,4 @@ jobs:
8888
- name: Run tests
8989
run: |
9090
cd ${{ github.workspace }}/${{ inputs.CRAFT_TARGET }}/build/nextcloud-client/work/build
91-
ctest --output-on-failure --output-junit testResult.xml
91+
ctest --output-on-failure --output-junit testResult.xml --parallel 4

.github/workflows/windows-build-and-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
6666
$binFolder = "$buildFolder\bin"
6767
68-
& ctest --output-on-failure --timeout 300
68+
& ctest --output-on-failure --timeout 300 --parallel 4
6969
}
7070
7171
runTests

0 commit comments

Comments
 (0)