doc: update lts description in the collaborator guide
PR-URL: https://github.com/nodejs/node/pull/3668 Reviewed-By: Julien Gilli <jgilli@fastmail.fm>
This commit is contained in:
parent
1594198600
commit
dac387e8aa
@ -240,14 +240,48 @@ You can find more information [in the full LTS plan](https://github.com/nodejs/l
|
|||||||
|
|
||||||
#### How does LTS work?
|
#### How does LTS work?
|
||||||
|
|
||||||
Once a stable branch enters LTS, no new features may be added to that release. Changes are
|
Once a stable branch enters LTS, changes in that branch are limited to bug
|
||||||
limited to bug fixes, security updates, possible npm updates, documentation updates, and certain
|
fixes, security updates, possible npm updates, documentation updates, and
|
||||||
performance improvements that can be demonstrated to not break existing applications.
|
certain performance improvements that can be demonstrated to not break existing
|
||||||
Semver-minor changes are only permitted if required for bug fixes. Semver-major changes are only
|
applications. Semver-minor changes are only permitted if required for bug fixes
|
||||||
permitted if required for critical security and bug fixes.
|
and then only on a case-by-case basis with LTS WG and possibly Core Technical
|
||||||
|
Committee (CTC) review. Semver-major changes are permitted only if required for
|
||||||
|
security related fixes.
|
||||||
|
|
||||||
Once a stable branch moves into Maintenance mode, only **critical** bugs, **critical** security fixes,
|
Once a stable branch moves into Maintenance mode, only **critical** bugs,
|
||||||
and documentation updates will be permitted.
|
**critical** security fixes, and documentation updates will be permitted.
|
||||||
|
|
||||||
|
#### Landing semver-minor commits in LTS
|
||||||
|
|
||||||
|
The default policy is to not land semver-minor or higher commits in any LTS
|
||||||
|
branch. However, the LTS WG or CTC can evaluate any individual semver-minor
|
||||||
|
commit and decide whether a special exception ought to be made. It is
|
||||||
|
expected that such exceptions would be evaluated, in part, on the scope
|
||||||
|
and impact of the changes on the code, the risk to ecosystem stability
|
||||||
|
incurred by accepting the change, and the expected benefit that landing the
|
||||||
|
commit will have for the ecosystem.
|
||||||
|
|
||||||
|
Any collaborator who feels a semver-minor commit should be landed in an LTS
|
||||||
|
branch should attach the `lts-agenda` label to the pull request. The LTS WG
|
||||||
|
will discuss the issue and, if necessary, will escalate the issue up to the
|
||||||
|
CTC for further discussion.
|
||||||
|
|
||||||
|
#### How are LTS Branches Managed?
|
||||||
|
|
||||||
|
There are currently three LTS branches: `v4.x`, `v0.10`, and `v0.12`. Each
|
||||||
|
of these is paired with a "staging" branch: `v4.x-staging`, `v0.10-staging`,
|
||||||
|
and `v0.12-staging`.
|
||||||
|
|
||||||
|
As commits land in `master`, they are cherry-picked back to each staging
|
||||||
|
branch as appropriate. If the commit applies only to the LTS branch, the
|
||||||
|
PR must be opened against the *staging* branch. Commits are selectively
|
||||||
|
pulled from the staging branch into the LTS branch only when a release is
|
||||||
|
being prepared and may be pulled into the LTS branch in a different order
|
||||||
|
than they were landed in staging.
|
||||||
|
|
||||||
|
Any collaborator may land commits into a staging branch, but only the release
|
||||||
|
team should land commits into the LTS branch while preparing a new
|
||||||
|
LTS release.
|
||||||
|
|
||||||
#### How can I help?
|
#### How can I help?
|
||||||
|
|
||||||
@ -255,14 +289,32 @@ When you send your pull request, consider including information about
|
|||||||
whether your change is breaking. If you think your patch can be backported,
|
whether your change is breaking. If you think your patch can be backported,
|
||||||
please feel free to include that information in the PR thread.
|
please feel free to include that information in the PR thread.
|
||||||
|
|
||||||
#### Who is doing the backporting?
|
Several LTS related issue and PR labels have been provided:
|
||||||
|
|
||||||
The current plan is for commits to cherry pick into a staging branch (e.g. v4.x-staging),
|
* `lts-watch-v4.x` - tells the LTS WG that the issue/PR needs to be considered
|
||||||
which can be done by anyone. The preference would be for the individual landing the commit
|
for landing in the `v4.x-staging` branch.
|
||||||
on master to backport to staging branches if it is appropriate.
|
* `lts-watch-v0.10` - tells the LTS WG that the issue/PR needs to be considered
|
||||||
|
for landing in the `v0.10-staging` branch.
|
||||||
|
* `lts-watch-v0.12` - tells the LTS WG that the issue/PR needs to be considered
|
||||||
|
for landing in the `v0.12-staging` branch.
|
||||||
|
* `land-on-v4.x` - tells the release team that the commit should be landed
|
||||||
|
in a future v4.x release
|
||||||
|
* `land-on-v0.10` - tells the release team that the commit should be landed
|
||||||
|
in a future v0.10 release
|
||||||
|
* `land-on-v0.12` - tells the release team that the commit should be landed
|
||||||
|
in a future v0.12 release
|
||||||
|
|
||||||
|
Any collaborator can attach these labels to any PR/issue. As commits are
|
||||||
|
landed into the staging branches, the `lts-watch-` label will be removed.
|
||||||
|
Likewise, as commits are landed in a LTS release, the `land-on-` label will
|
||||||
|
be removed.
|
||||||
|
|
||||||
|
Collaborators are encouraged to help the LTS WG by attaching the appropriate
|
||||||
|
`lts-watch-` label to any PR that may impact an LTS release.
|
||||||
|
|
||||||
#### How is an LTS release cut?
|
#### How is an LTS release cut?
|
||||||
|
|
||||||
When the LTS working group determines that a new LTS release is required, selected commits
|
When the LTS working group determines that a new LTS release is required,
|
||||||
will be picked from the staging branch to be included in the release. This process of making
|
selected commits will be picked from the staging branch to be included in the
|
||||||
a release will be a collaboration between the LTS working group and the Release team.
|
release. This process of making a release will be a collaboration between the
|
||||||
|
LTS working group and the Release team.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user