]> git.ipfire.org Git - thirdparty/git.git/commitdiff
gitlab-ci: upload Meson test logs as JUnit reports
authorPatrick Steinhardt <ps@pks.im>
Thu, 2 Oct 2025 11:04:39 +0000 (13:04 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 2 Oct 2025 16:44:41 +0000 (09:44 -0700)
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>
.gitlab-ci.yml

index b388154078debf5a4c306192bb15640b3ea52f77..85401b34a58a1962e938d9f32014c2dfd5f3b3e8 100644 (file)
@@ -70,6 +70,8 @@ test:linux:
   artifacts:
     paths:
       - t/failed-test-artifacts
+    reports:
+      junit: build/meson-logs/testlog.junit.xml
     when: on_failure
 
 test:osx:
@@ -110,6 +112,8 @@ test:osx:
   artifacts:
     paths:
       - t/failed-test-artifacts
+    reports:
+      junit: build/meson-logs/testlog.junit.xml
     when: on_failure
 
 .windows_before_script: &windows_before_script
@@ -181,6 +185,9 @@ test:msvc-meson:
   script:
     - meson test -C build --no-rebuild --print-errorlogs --slice $Env:CI_NODE_INDEX/$Env:CI_NODE_TOTAL
   parallel: 10
+  artifacts:
+    reports:
+      junit: build/meson-logs/testlog.junit.xml
 
 test:fuzz-smoke-tests:
   image: ubuntu:latest