Merge branch 'jk/ci-windows-meson-test-fix'

"Windows+meson" job at the GitHub Actions CI was hard to debug, as
it did not show and save failed test artifacts, which has been
corrected.

* jk/ci-windows-meson-test-fix:
  ci(windows-meson-test): handle options and output like other test jobs
  unit-test: ignore --no-chain-lint
This commit is contained in:
Junio C Hamano
2025-11-26 10:32:43 -08:00
3 changed files with 25 additions and 1 deletions

View File

@@ -298,7 +298,17 @@ jobs:
path: build path: build
- name: Test - name: Test
shell: pwsh shell: pwsh
run: meson test -C build --no-rebuild --print-errorlogs --slice "$(1+${{ matrix.nr }})/10" run: ci/run-test-slice-meson.sh build ${{matrix.nr}} 10
- name: print test failures
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
shell: bash
run: ci/print-test-failures.sh
- name: Upload failed tests' directories
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
uses: actions/upload-artifact@v4
with:
name: failed-tests-windows-meson-${{ matrix.nr }}
path: ${{env.FAILED_TEST_ARTIFACTS}}
regular: regular:
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}}) name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})

13
ci/run-test-slice-meson.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
# We must load the build options so we know where to find
# things like TEST_OUTPUT_DIRECTORY. This has to come before
# loading lib.sh, though, because it may clobber some CI lib
# variables like our custom GIT_TEST_OPTS.
. "$1"/GIT-BUILD-OPTIONS
. ${0%/*}/lib.sh
group "Run tests" \
meson test -C "$1" --no-rebuild --print-errorlogs \
--test-args="$GIT_TEST_OPTS" --slice "$((1+$2))/$3" ||
handle_failed_tests

View File

@@ -29,6 +29,7 @@ int cmd_main(int argc, const char **argv)
OPT_NOOP_NOARG('d', "debug"), OPT_NOOP_NOARG('d', "debug"),
OPT_NOOP_NOARG(0, "github-workflow-markup"), OPT_NOOP_NOARG(0, "github-workflow-markup"),
OPT_NOOP_NOARG(0, "no-bin-wrappers"), OPT_NOOP_NOARG(0, "no-bin-wrappers"),
OPT_NOOP_ARG(0, "no-chain-lint"),
OPT_NOOP_ARG(0, "root"), OPT_NOOP_ARG(0, "root"),
OPT_NOOP_ARG(0, "stress"), OPT_NOOP_ARG(0, "stress"),
OPT_NOOP_NOARG(0, "tee"), OPT_NOOP_NOARG(0, "tee"),