ci: use Meson's new --slice option
As executing our test suite is notoriously slow on Windows we use matrix jobs in our CI systems to slice up tests and run them via multiple jobs. On Meson this is done with a comparatively complex PowerShell invocation as Meson didn't yet have a native way to slice tests like this. I have upstreamed a new `--slice` option [1] that addresses this use case though, which has been merged and released with Meson 1.8. Both GitLab and GitHub CI have Meson 1.8.2 available by now, so let's update the jobs to use that new option. [1]: https://github.com/mesonbuild/meson/pull/14092 Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
164cbd679c
commit
d3d6493dcf
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@@ -298,7 +298,7 @@ jobs:
|
||||
path: build
|
||||
- name: Test
|
||||
shell: pwsh
|
||||
run: meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % 10 } | Where-Object Name -EQ ${{ matrix.nr }} | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group }
|
||||
run: meson test -C build --no-rebuild --print-errorlogs --slice "$(1+${{ matrix.nr }})/10"
|
||||
|
||||
regular:
|
||||
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
|
||||
|
||||
@@ -178,7 +178,7 @@ test:msvc-meson:
|
||||
- job: "build:msvc-meson"
|
||||
artifacts: true
|
||||
script:
|
||||
- meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % $Env:CI_NODE_TOTAL + 1 } | Where-Object Name -EQ $Env:CI_NODE_INDEX | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group; if (!$?) { exit $LASTEXITCODE } }
|
||||
- meson test -C build --no-rebuild --print-errorlogs --slice $Env:CI_NODE_INDEX/$Env:CI_NODE_TOTAL
|
||||
parallel: 10
|
||||
|
||||
test:fuzz-smoke-tests:
|
||||
|
||||
Reference in New Issue
Block a user