gitlab-ci: handle failed tests on MSVC+Meson job

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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
next
Patrick Steinhardt 2026-02-09 17:56:15 +01:00 committed by Junio C Hamano
parent cd919ac249
commit d55eee7978
1 changed files with 13 additions and 1 deletions

View File

@ -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