Thread (1 message) 1 message, 1 author, 2022-06-13

Re: [PATCH v2 0/2] ci(GitHub): mark up compile errors, too

From: Junio C Hamano <hidden>
Date: 2022-06-13 19:10:56

"Johannes Schindelin via GitGitGadget" [off-list ref]
writes:
 * The curly bracket construct was replaced by a proper subshell, to avoid
   jumbled output and a race where the exit.status file could be read before
   it was written.
I do prefer () when making a subshell in a case like this (e.g.
upstream of a pipe), so I am happy with this version, but the above
is curious.

I am not sure how "jumbled output" is possible, let alone "reading
exit.status before it is written".  The output goes to sed to be
processed either way, nobody else other than "$@" produces such an
output from there, and sed would not exit until it finishes reading
from the upstream so res=$(cat exit.status) won't kick in before the
upstream exits.

Anyway, thanks, will queue.
Johannes Schindelin (2):
  ci(github): use grouping also in the `win-build` job
  ci(github): also mark up compile errors

 ci/lib.sh                 | 10 ++++++++--
 ci/make-test-artifacts.sh |  2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)


base-commit: 3069f2a6f4c38e7e599067d2e4a8e31b4f53e2d3
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1253%2Fdscho%2Fci-mark-up-compile-failures-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1253/dscho/ci-mark-up-compile-failures-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1253

Range-diff vs v1:

 1:  5212c5ec474 = 1:  5212c5ec474 ci(github): use grouping also in the `win-build` job
 2:  19d6e34f038 ! 2:  34daf06bb71 ci(github): also mark up compile errors
     @@ ci/lib.sh: else
      -		"$@"
      -		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/'
     ++		) |
     ++		sed 's/^\(\([^ ]*\):\([0-9]*\):\([0-9]*:\) \)\(error\|warning\): /::\5 file=\2,line=\3::\1/'
      +		res=$(cat exit.status)
      +		rm exit.status
       		end_group
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help