ci: add a problem matcher for GitHub Actions

With this patch, test failures will be annotated with a helpful,
clickable message in GitHub Actions. For details, see
https://github.com/actions/toolkit/blob/master/docs/problem-matchers.md

Note: we need to set `TEST_SHELL_PATH` to Bash so that the problem
matcher is fed a file and line number for each test failure.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2020-04-11 00:18:13 +07:00 committed by Junio C Hamano
parent 662f9cf154
commit 676eb0c1ce
2 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "git-test-suite",
"pattern": [
{
"regexp": "^([^ :]+\\.sh):(\\d+): (error|warning|info):\\s+(.*)$",
"file": 1,
"line": 2,
"severity": 3,
"message": 4
}
]
}
]
}

View File

@ -157,6 +157,11 @@ then
MAKEFLAGS="$MAKEFLAGS --jobs=10"
test windows != "$CI_OS_NAME" ||
GIT_TEST_OPTS="--no-chain-lint --no-bin-wrappers $GIT_TEST_OPTS"
# https://github.com/actions/toolkit/blob/master/docs/commands.md#problem-matchers
echo "::add-matcher::ci/git-problem-matcher.json"
test linux-musl = "$jobname" ||
MAKEFLAGS="$MAKEFLAGS TEST_SHELL_PATH=/bin/sh"
else
echo "Could not identify CI type" >&2
env >&2