From: Johannes Schindelin Date: Mon, 13 Jun 2022 13:13:08 +0000 (+0000) Subject: ci(github): also mark up compile errors X-Git-Tag: v2.37.0-rc1~6^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cadcafc3311de7f6fae5f3add10cde4f93268ff8;p=thirdparty%2Fgit.git ci(github): also mark up compile errors When GCC produces those helpful errors, we will want to present them in the GitHub workflow runs in the most helpful manner. To that end, we want to use workflow commands to render errors and warnings: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions In the previous commit, we ensured that grouping is used for the build in all jobs, and this allows us to piggy-back onto the `group` function to transmogrify the output. Note: If `set -o pipefail` was available, we could do this in a little more elegant way. But since some of the steps are run using `dash`, we have to do a little `{ ...; echo $? >exit.status; } | ...` dance. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/ci/lib.sh b/ci/lib.sh index b142d254ec..f095519f8d 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -29,8 +29,14 @@ else set +x begin_group "$1" shift - "$@" - res=$? + # work around `dash` not supporting `set -o pipefail` + ( + "$@" 2>&1 + echo $? >exit.status + ) | + sed 's/^\(\([^ ]*\):\([0-9]*\):\([0-9]*:\) \)\(error\|warning\): /::\5 file=\2,line=\3::\1/' + res=$(cat exit.status) + rm exit.status end_group return $res }