Skip to content

Freezing deps/v8 on the main branch during major V8 upgrades #66393

Description

@joyeecheung

While working on #65161 which will upgrade deps/v8 from 14.6 to 15.2 on the main branch I've noticed a pattern - there have been many commits being backported to deps/v8 the main branch while the upgrade is happening, but these backports are actually causing mostly trouble rather than helping anything because:

  1. The release branches have much older versions of V8, so these commits likely need to be adapted again to even older V8 releases if they want to go out ASAP, then the rewrite targeting the main branch is therefore not very useful
  2. Most of these commits are already in 15.2, so they'll be overwritten by the upgrade anyway. However because they land too early on main, whenever this happens it creates a conflict for the 15.2 upgrade and we had to spend some energy to figure out if it needs to be skipped or re-applied (usually it just needs to be skipped)

Based on these observations I think in general, when there's a big V8 upgrade pending on the main branch (say we are jumping more than 2 major versions), it's usually counterproductive to try backporting anything to deps/v8 on the main branch until the upgrade lands. If the intention is for the backport to go out on a release, the contributor should be redirected to backport that V8 commit to release branches, not main.

Opening this issue to see if others agree and we can settle down on a more formal policy on this to reduce future churn.

cc @nodejs/tsc @nodejs/v8-update

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to Node.js builds or CI infrastructure.metaIssues and PRs related to the general management of the project.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions