git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Date
Jun 13, 2022, 13:13 UTC
Message-ID
<pull.1253.v2.git.1655125988.gitgitgadget@gmail.com>
In-Reply-To
<pull.1253.git.1654774347.gitgitgadget@gmail.com>

Just like we mark up test failures, it makes sense to mark up compile errors, too.

In a sense, it makes even more sense with compile errors than with test failures because we can link directly to the corresponding source code in the former case (if said code has been touched by the Pull Request, that is). The only downside is that this link currently is kind of misleading if the Pull Request did not even touch the offending source code (such as was the case when a GCC upgrade in Git for Windows' SDK all of a sudden pointed out problems in the source code that had existed for a long time already). We will see how the GitHub Actions engineers will develop this feature further.

This patch series is based on js/ci-github-workflow-markup. Which also serves as an example how this looks like if the offending source code was not touched by the Pull Request: https://github.com/dscho/git/actions/runs/2477526645 because it still triggers the above-referenced GCC build failure.

Changes since v1:
 * Using a comma in the workflow command now, as described in the official
   documentation ;-) (Thank you, Ævar)
 * 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.
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
-- 
gitgitgadget
Previous: Junio C HamanoNext: Johannes Schindelin via GitGitGadget
Message 7 of 11 in “ci(GitHub): mark up compile errors, too”
  1. 0/2 ci(GitHub): mark up compile errors, tooJohannes Schindelin via GitGitGadget, Jun 9, 2022
  2. 1/2 ci(github): use grouping also in the `win-build` jobJohannes Schindelin via GitGitGadget, Jun 9, 2022
  3. 2/2 ci(github): also mark up compile errorsJohannes Schindelin via GitGitGadget, Jun 9, 2022
  4. Ævar Arnfjörð BjarmasonJun 9, 2022
  5. Junio C HamanoJun 10, 2022
  6. Junio C HamanoJun 9, 2022
  7. 0/2 ci(GitHub): mark up compile errors, tooJohannes Schindelin via GitGitGadget, Jun 13, 2022
  8. 2/2 ci(github): also mark up compile errorsJohannes Schindelin via GitGitGadget, Jun 13, 2022
  9. 1/2 ci(github): use grouping also in the `win-build` jobJohannes Schindelin via GitGitGadget, Jun 13, 2022
  10. Junio C HamanoJun 13, 2022
  11. Ævar Arnfjörð BjarmasonJun 13, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.