Originally posted by @richardlau in #4462
From @aduh95,
FYI I've tried nodejs/node#66070 with nodejs/node#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 git
Would 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-options has 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 nodejs/node#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.
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).
Originally posted by @richardlau in #4462
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 intools/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: