Re: aw/t9811-modernize, was Re: What's cooking in git.git (Apr 2025, #04; Tue, 15)
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Apr 22, 2025, 05:47 UTC
- Message-ID
- <aActb3dB-r3s69h6@pks.im>
- In-Reply-To
- <20250418215723.GA91116@coredump.intra.peff.net>
On Fri, Apr 18, 2025 at 05:57:23PM -0400, Jeff King wrote:
Show 24 quoted lines
> On Fri, Apr 18, 2025 at 02:44:30PM -0700, Junio C Hamano wrote: > > > Junio C Hamano <gitster@pobox.com> writes: > > > > > Jeff King <peff@peff.net> writes: > > > > > >> So I don't know if git-p4 got smarter, or what. But we should probably > > >> back out at least that part of the commit until we figure out what's > > >> going on (where "we" is somebody who cares a lot more about p4 than I > > >> do). > > > > > > Yes, and there was another breakage in that 2-hunk patch in the > > > other hunk I sent out a fix for a few minutes ago. > > Oh, sorry, I totally missed your fixes. Obviously, yeah, your patches > look good. ;) > > > We seem to have quite a many ubuntu/linux test jobs, none of which > > failed due to the obvious syntax error in t9811, which probalby > > means we are not running p4 tests at all on any of our Linux jobs. > > I wondered that, too, but then I pulled the instructions for downloading > p4 from ci/install-dependencies, under the ubuntu heading. I wonder if > that is not triggering for some reason.
So the infrastructure seems to be working in general, as the jobs do execute on GitLab CI [1], but on GitHub they indeed get skipped[2]. We definitely download the artifacts though [3], as well.
I think the issue is where we put the resulting binaries: they get put into "$HOME/path", but the problem is that "$HOME" is different between "install-dependencies.sh" and "run-build-and-tests.sh" because the latter is executed as unprivileged user.
Something like the below (untested) patch should fix this.
Patrick
[1]: https://gitlab.com/gitlab-org/git/-/jobs/9760840184#L4002 [2]: https://github.com/git/git/actions/runs/14526556290/job/40759119217#step:8:1814 [3]: https://github.com/git/git/actions/runs/14526556290/job/40759119217#step:5:2190
-- >8 --
Subject: [PATCH] ci: fix p4d executable not being found on GitHub Actions
Our tests for git-p4(1) depend on the p4d(1) and p4(1) executables to exist. As we require specific versions of those binaries which typically aren't available on common distributions, we install them manually via "ci/install-dependencies.sh".
This script will put the binaries into "$CUSTOM_PATH", which gets defined by "ci/lib.sh" -- if not explicitly overridden, its value will be set to "$HOME/path". This causes issues though when running our tests as unprivileged user, as we do both in GitLab CI and GitHub Actions, because "$HOME" will be different when installing dependencies and when running the tests. Consequently, the downloaded binaries will not be found unless "$CUSTOM_PATH" is overridden to a common location.
We already do this for GitLab CI, where it points to "/custom". Let's do the same for GitHub Actions so that Perforce-based tests are executed again.
Signed-off-by: Patrick Steinhardt <ps@pks.im> --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 83ca8e4182b..412a9a5107b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -408,6 +408,7 @@ jobs: jobname: ${{matrix.vector.jobname}} CC: ${{matrix.vector.cc}} CI_JOB_IMAGE: ${{matrix.vector.image}} + CUSTOM_PATH: /custom runs-on: ubuntu-latest container: ${{matrix.vector.image}} steps:
-- 2.49.0.901.g37484f566f.dirty