On Fri, Jun 10 2022, Ævar Arnfjörð Bjarmason wrote: > On Fri, Jun 10 2022, Junio C Hamano wrote: > >> Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: >>> When ci/print-test-failures.sh was last in this file before 08dccc8fc1f >>> (ci: make it easier to find failed tests' logs in the GitHub workflow, >>> 2022-05-21) there was no "name" field, that's an unrelated change that >>> shouldn't be part of a narrow regression fix. >>> >>>> + if: failure() && env.FAILED_TEST_ARTIFACTS != '' >>> >>> We likewise just had "if failure()" then, is the distinction different >>> in all these cases? >>> >>>> + shell: bash >>> >>> ...and you've made every single one of them run with "bash" instead of >>> the default shell, which is another "change while at it" that isn't >>> discussed. >> >> If it is so important to support all the other shells in the GitHub >> workflows environment, we can discuss fix-up patches on top or >> replacement patches, but does that really matter? If this were main >> Makefile or ci/*.sh that are supposed to be usable by places other >> than GitHub Actions environment we use for the CI there, of course >> it would be worth to try being extra portable, but it may be even >> beneficial to "fix" .github/workflows/* stuff, so that we won't have >> to be affected by mistaken use of non-portable shell construct >> written there, perhaps? > > It just looks like a mistake. The Windows sections need an explicit > "bash" shell, but nothing else does, and the Windows sections had > explicit names for somes stuff, but the other ones did not. > > So I think thas was just a case of copy/pasting the first section(s) > rather than bringing back the pre-image. I think just bringing back the > old behavior makes sense for a regression fix in a re-roll. > > Aside from that I think it's very useful to not rely on bash, for future > directions of being able to use this tooling more portably, c.f. what I > did in my series where you can run "like CI" locally, which I'd like to > do on Solaris, AIX & whatever else without it being a portability > hassle. It turns out this is also a regression for our CI, if linux-musl fails it'll emit: OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown