Repository navigation
doc: add doc on when to backport V8 patches to main #66710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
6c5b94b
2965bfa
84fd457
45007af
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -77,6 +77,26 @@ fixed upstream first. | |
| branches that are still active or are branches that Node.js cares about. | ||
| Follow the process for backporting below. | ||
|
|
||
| ### Backporting patches to `main` | ||
|
|
||
| As a general rule, do not backport individual V8 patches to the Node.js `main` | ||
| branch. Wait for them to be included in a V8 major version update instead. | ||
| An individual V8 patch adds up audit cost and further delays the pending V8 | ||
| update. | ||
|
|
||
| A patch may be backported to `main` when at least one of these criteria applies: | ||
|
|
||
| * It fixes a build issue on a platform or toolchain supported on `main`. | ||
| * It fixes a security issue. | ||
| * It unblocks a pending V8 update, for example by adjusting how the Node.js code | ||
| uses a V8 API. | ||
|
|
||
| If the patch meet the following criteria, it's recommended to backport the patches | ||
| to the release staging branches like `v<MAJOR>.x-staging`, instead of `main`: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need to also remind folks that we typically don't accept PRs targeting LTS staging branches?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would you like suggest words? I didn't find any docs saying the criteria on backporting dependency patches specifically. |
||
|
|
||
| * It has demonstrated real-world urgency and impact that justifies landing it | ||
| before the next V8 major version update. | ||
|
|
||
| ### Backporting to active branches | ||
|
|
||
| If the bug exists in any of the active V8 branches, we may need to get the fix | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't it the reverse i.e. I think this is talking about the situation where we change
src/or some gyp files, notdeps/v8/but in anticipation ofdeps/v8changes, even though this section is supposed to be about changes todeps/v8? If we are trying to cover cases where we are updatingdeps/v8/so that we can land some change insrc/, I think it generally goes to the second category.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking of cases in the past like V8 global proxy interceptor and
vmchanges, where we have to update bothnode_contextify, and apply the V8 changes together to avoid breaking behavior in the upcoming V8 upgrade. I limited this to "unblocks a pending V8 update" so that it does not encourage new language features to be individually backported.