From: Junio C Hamano Date: Mon, 17 Nov 2025 18:28:17 GMT Subject: Re: [PATCH] ci(dockerized): do show the result of failing tests again Message-ID: In-Reply-To: "Johannes Schindelin via GitGitGadget" writes: > From: Johannes Schindelin > > The quality of tests/test suites does not show as much when there are no > breakages as in the amount of time required after bugs trigger test > failures before the bugs can be identified, analyzed and resolved. > > As such, it is an unfortunate side effect of 2a21098b98a (github: adapt > containerized jobs to be rootless, 2025-01-10) that the output of failed > test cases, which was shown before that change directly in the build > logs, is now no longer shown at all. > > The reason is a side effect of trying to run the build and the tests > with permissions other than the `root` user, but without providing the > prerequisite permissions to signal what tests failed and whose output > hence needs to be included in the logs. > > The way this signaling works is for the workflow to write into > special-purpose files whose path is specific to the current workflow > step and which can be accessed via the `$GITHUB_ENV` environment > variable, which differs between workflow steps. It is this file that is > missing write permission for the `builder` user that was introduced in > above-mentioned commit. > > The solution is simple: make the file world-writable. I expected to see a+w not o+w from this statement; as long as it works I have no strong objections, but if I saw o+w without the above explanation I would probably have wondered who are in the group that we do not want this file touched by. > Technically, this write permission should be removed after the step has > completed, if proper security practices were to be upheld, but since > nothing uses that file again, it does not matter, and the fix is more > succinct this way. > > This commit is best viewed with `--color-words`. > > Signed-off-by: Johannes Schindelin > --- > Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2003%2Fdscho%2Ffix-failure-reporting-in-dockerized-ci-v1 > Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2003/dscho/fix-failure-reporting-in-dockerized-ci-v1 > Pull-Request: https://github.com/gitgitgadget/git/pull/2003 > > .github/workflows/main.yml | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml > index 816d5a34c4..ca7cc2984f 100644 > --- a/.github/workflows/main.yml > +++ b/.github/workflows/main.yml > @@ -433,7 +433,7 @@ jobs: > - run: ci/install-dependencies.sh > - run: useradd builder --create-home > - run: chown -R builder . > - - run: sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh > + - run: chmod o+w $GITHUB_ENV && sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh > - name: print test failures > if: failure() && env.FAILED_TEST_ARTIFACTS != '' > run: sudo --preserve-env --set-home --user=builder ci/print-test-failures.sh Thanks. Will apply.