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

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
Previous: Jeff KingNext: Junio C Hamano
Message 7 of 8 in “What's cooking in git.git (Apr 2025, #04; Tue, 15)”
  1. Junio C HamanoApr 15, 2025
  2. Ramsay JonesApr 16, 2025
  3. aw/t9811-modernize, was Re: What's cooking in git.git (Apr 2025, #04; Tue, 15)Jeff King, Apr 18, 2025
  4. Junio C HamanoApr 18, 2025
  5. Junio C HamanoApr 18, 2025
  6. Jeff KingApr 18, 2025
  7. Patrick SteinhardtApr 22, 2025
  8. Junio C HamanoApr 22, 2025

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.