gitlab-ci: upload Meson test logs as JUnit reports

When running tests, Meson knows to output both a test log as well as a JUnit test report that collates results. We don't currently upload these results in our GitLab CI at all, which makes it hard to see which tests ran, but also which of our tests may have failed. Upload these JUnit reports as artifacts to make this information more accessible. Note that we also do this for some jobs that don't use Meson and thus don't generate these reports in the first place. GitLab CI handles missing reports gracefully though, so there is no reason to special-case those jobs that don't use Meson. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Oct 2, 2025 at 13:04 UTC 0e98965234df00fbd4a3ab4864edf323ccb8ef17
1 file changed +7
.gitlab-ci.yml
+7
@@ -70,6 +70,8 @@ test:linux:
70 artifacts:
71 paths:
72 - t/failed-test-artifacts
73 + reports:
74 + junit: build/meson-logs/testlog.junit.xml
75 when: on_failure
76
77 test:osx:
@@ -110,6 +112,8 @@ test:osx:
112 artifacts:
113 paths:
114 - t/failed-test-artifacts
115 + reports:
116 + junit: build/meson-logs/testlog.junit.xml
117 when: on_failure
118
119 .windows_before_script: &windows_before_script
@@ -181,6 +185,9 @@ test:msvc-meson:
185 script:
186 - meson test -C build --no-rebuild --print-errorlogs --slice $Env:CI_NODE_INDEX/$Env:CI_NODE_TOTAL
187 parallel: 10
188 + artifacts:
189 + reports:
190 + junit: build/meson-logs/testlog.junit.xml
191
192 test:fuzz-smoke-tests:
193 image: ubuntu:latest