Repository navigation
gn isn't backwards compatible #2696
Description
Activity
gncommits that removed theset_sources_assignment_filterfeature in question:- https://gn.googlesource.com/gn/+/ad0a7ada45cd7a3781a00175286a05519b4bdefc
- https://gn.googlesource.com/gn/+/55e535a6716e57320fdd3901f0347a5c30562199
We could try going to a version of
gnimmediately before those but then there's no guarantee it will continue to build V8 LKGR (as evidenced that we eventually needed to use a newergnthan the one we were using before for V8 9.2). I'm leaning slightly towards building the matching SHA as in V8'sDEPSfile with the open question as to whether we always build in every V8 CI run or adopt some sort of caching stategy.I suppose we could also look to see if we could patch up the V8
.gnbuild files but I feel that's too risky for the LTS releases.V8 removed uses of
set_sources_assignment_filterin https://chromium-review.googlesource.com/c/v8/v8/+/2456988 and https://chromium-review.googlesource.com/c/v8/v8/+/2454079
They seem safe to backport to LTS.I opened nodejs/node#39244 and nodejs/node#39245
Reacted by Richard Lau and thomas michael wallaceThanks. I’ll need to swap the symlinks for
gnback to the more recent one.I'm leaning slightly towards building the matching SHA as in V8's DEPS file with the open question as to whether we always build in every V8 CI run
If we built every time using ccache would that be pretty quick assuming it does not change very often?
- added 7 commits that reference this issue
on Jul 11, 2021 17 remaining items
- added 7 commits that reference this issue
on Jul 23, 2021 I'm going to close this for now as thanks to the great work done by @targos (🚀) in identifying changes to backport we have Node.js 12 and 14 able to build with more up-to-date versions of
gn(i.e. we use the samegnbinary on all releases). We can revisit if we run into the problem again in the future.
Since
depot_toolsused by V8 doesn't host binaries for non-Intel platforms we've had to build it from source on Linux PPC/s390x. #2675 added automation to our Ansible playbook to compile the latest commit ofgnbutgnitself is not versioned and apparently not backwards compatible with itself as can be seen from this recent V8 CI on a Node.js 14 PR:https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel7-s390x,v8test=v8test/4091/console
The
set_sources_assignment_filter"feature" was removed fromgn.Refs: https://groups.google.com/a/chromium.org/g/chromium-dev/c/hyLuCU6g2V4
Refs: https://groups.google.com/a/chromium.org/g/gn-dev/c/oQcYStl_WkI
Refs: https://bugs.chromium.org/p/gn/issues/detail?id=125
I'm going to roll back
gnon the Linux PPC/s390x machines so we can run V8 CI for Node.js 12/14 for tomorrow's security releases.We'll need to work out what to do about
gn-- maybe either stash several versions and use a selector script or buildgnfrom source for every V8 CI run based on the commit sha recorded ingn_versionindeps/V8/DEPS. For release lines the version ofgnused by V8 should be relatively stable but we also build V8 canary where I imaginegnwould be updated more often.