git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7/7] gitlab-ci: handle failed tests on MSVC+Meson job

From
Patrick Steinhardt <ps@pks.im>
Date
Feb 11, 2026, 10:34 UTC
Message-ID
<20260211-b4-pks-ci-meson-improvements-v1-7-cb167cc80b86@pks.im>
In-Reply-To
<20260211-b4-pks-ci-meson-improvements-v1-0-cb167cc80b86@pks.im>

The MSVC+Meson job does not currently have any logic to print failing tests, nor does it upload the failed test artifacts. Backfill this logic to make help debugging efforts in case any of its jobs has failed.

GitHub already knows to do this, so we don't need an equivalent change over there.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 .gitlab-ci.yml | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 04857b479d..71b8a6e642 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -157,6 +157,8 @@ test:mingw64:
   parallel: 10
 
 .msvc-meson:
+  variables:
+    TEST_OUTPUT_DIRECTORY: "C:/Git-Test"
   tags:
     - saas-windows-medium-amd64
   before_script:
@@ -164,12 +166,13 @@ test:mingw64:
     - choco install -y git meson ninja rust-ms
     - Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
     - refreshenv
+    - New-Item -Path $env:TEST_OUTPUT_DIRECTORY -ItemType Directory
 
 build:msvc-meson:
   extends: .msvc-meson
   stage: build
   script:
-    - meson setup build --vsenv -Dperl=disabled -Dbackend_max_links=1 -Dcredential_helpers=wincred
+    - meson setup build --vsenv -Dperl=disabled -Dbackend_max_links=1 -Dcredential_helpers=wincred -Dtest_output_directory="$TEST_OUTPUT_DIRECTORY"
     - meson compile -C build
   artifacts:
     paths:
@@ -185,10 +188,19 @@ test:msvc-meson:
   script:
     - |
       & "C:/Program Files/Git/usr/bin/bash.exe" -l -c 'ci/run-test-slice-meson.sh build $CI_NODE_INDEX $CI_NODE_TOTAL'
+  after_script:
+    - |
+      if ($env:CI_JOB_STATUS -ne "success") {
+        & "C:/Program Files/Git/usr/bin/bash.exe" -l -c 'ci/print-test-failures.sh'
+        Move-Item -Path "$env:TEST_OUTPUT_DIRECTORY/failed-test-artifacts" -Destination t/
+      }
   parallel: 10
   artifacts:
+    paths:
+      - t/failed-test-artifacts
     reports:
       junit: build/meson-logs/testlog.junit.xml
+    when: on_failure
 
 test:fuzz-smoke-tests:
   image: ubuntu:latest
-- 
2.53.0.295.g64333814d3.dirty
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 10 of 12 in “Some assorted fixes for GitLab CI”
  1. 0/7 Some assorted fixes for GitLab CIPatrick Steinhardt, Feb 11, 2026
  2. 1/7 ci: handle failures of test-slice helperPatrick Steinhardt, Feb 11, 2026
  3. 2/7 ci: don't skip smallest test slice in GitLabPatrick Steinhardt, Feb 11, 2026
  4. 3/7 meson: fix MERGE_TOOL_DIR with "--no-bin-wrappers"Patrick Steinhardt, Feb 11, 2026
  5. 4/7 github: fix Meson tests not executing at allPatrick Steinhardt, Feb 11, 2026
  6. 5/7 ci: make test slicing consistent across Meson/MakePatrick Steinhardt, Feb 11, 2026
  7. Johannes SchindelinFeb 18, 2026
  8. Patrick SteinhardtFeb 19, 2026
  9. 6/7 gitlab-ci: use "run-test-slice-meson.sh"Patrick Steinhardt, Feb 11, 2026
  10. 7/7 gitlab-ci: handle failed tests on MSVC+Meson jobPatrick Steinhardt, Feb 11, 2026
  11. Patrick SteinhardtFeb 11, 2026
  12. Junio C HamanoFeb 11, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.