On Fri, Apr 18, 2025 at 05:57:23PM -0400, Jeff King wrote: > On Fri, Apr 18, 2025 at 02:44:30PM -0700, Junio C Hamano wrote: > > > Junio C Hamano <gitster@xxxxxxxxx> writes: > > > > > Jeff King <peff@xxxxxxxx> 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@xxxxxx> --- .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