git version(s) for V8 CI
Nobody has claimed this yet.
- Dominant language
- Jinja
- Stars
- 542
- Forks
- 185
- Avg merge
- 22h 15m
- Merged PRs (30d)
- 4
Description
Originally posted by @richardlau in #4462
From @aduh95,
FYI I've tried https://github.com/nodejs/node/pull/66070 with https://github.com/nodejs/node/pull/65891 in https://ci.nodejs.org/job/node-test-commit-v8-linux/7380/nodes=benchmark-ubuntu2404-intel-64,v8test=v8test/, but it shows
Error: Command 'git -c color.ui=never checkout --quiet --end-of-options 25c29f04c9127e1ca09e6c1181f74850aa7f118b' returned non-zero exit status 1 in ./v8/third_party/libpfm4 error: pathspec '--end-of-options' did not match any file(s) known to gitWould that indicate an incompatible version of git? --end-of-options was added in https://gitlab.com/git-scm/git/-/blob/HEAD/Documentation/RelNotes/2.44.0.adoc
AFAICT use of
--end-of-optionshas come from https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/8401307. On our V8 CI this is causing the Ubuntu 24.04 x64 build to fail but the RHEL 8 ppc64le and s390x builds still work, which appear to be due to the version of git installed.From the CI I ran for https://github.com/nodejs/node/pull/66070, which was before depot_tools adopted
--end-of-options,17:55:55 git update is recommended. 17:55:55 Installed git version is 2.43.0; 17:55:55 depot_tools recommends version 2.46.0 or later. 17:55:55 Disable this warning by setting the GCLIENT_SUPPRESS_GIT_VERSION_WARNING 17:55:55 environment variable to 1.
- https://ci.nodejs.org/job/node-test-commit-v8-linux/7377/nodes=rhel8-s390x,v8test=v8test/consoleFull (git version is the same on RHEL 8 ppc64le)
17:58:00 git update is recommended. 17:58:00 Installed git version is 2.43.7; 17:58:00 depot_tools recommends version 2.46.0 or later. 17:58:00 Disable this warning by setting the GCLIENT_SUPPRESS_GIT_VERSION_WARNING 17:58:00 environment variable to 1.so the version of git on Ubuntu 24.04 is slightly older than the one in RHEL 8, but both are less than the depot_tools recommended version.
To workaround the immediate problem the job is now pinning the version of depot_tools in line with what is in deps/v8/DEPS (or any override we set in tools/v8/fetch_deps.py) but this only means delaying picking up newer versions of depot_tools until Node.js attempts to pick up a newer version of V8 which has rolled depot_tools forward.
We might need to start planning to shift the V8 CI:
- for x64 from Ubuntu 24.04 to 26.04.
- for ppc64le/s390x from RHEL 8 to RHEL 9 (or even 10).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with deps/v8/DEPS and tools/v8/fetch_deps.py, then compare the git versions and depot_tools behavior in the referenced Ubuntu 24.04, RHEL 8 ppc64le, and RHEL 8 s390x CI jobs. Done should include a concrete plan for compatible git and CI operating-system versions, with the affected V8 CI jobs identified and verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- build-system, ci-cd, devops, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100