diff --git a/doc/contributing/releases.md b/doc/contributing/releases.md index e07c529fcbb962..0dab193f1aaf08 100644 --- a/doc/contributing/releases.md +++ b/doc/contributing/releases.md @@ -153,7 +153,9 @@ git reset --hard upstream/v1.x-staging If the staging branch is not up to date relative to `main`, bring the appropriate PRs and commits into it. -Go through PRs with the label `vN.x`. e.g. [PRs with the `v8.x` label](https://github.com/nodejs/node/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+label%3Av8.x). +Go through PRs with the label `vN.x`. e.g. [PRs with the +`v8.x` label](https://github.com/nodejs/node/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc+label%3Av8.x) +and `baking-for-lts` label if preparing a release for an LTS line. For each PR: @@ -162,6 +164,8 @@ For each PR: * Check that the commit metadata was not changed from the `main` commit. * If there are merge conflicts, ask the PR author to rebase. Simple conflicts can be resolved when landing. +* If `baking-for-lts` is present, check if the PR is ready to be landed. + If it is, remove the `baking-for-lts` label. When landing the PR add the `Backport-PR-URL:` line to each commit. Close the backport PR with `Landed in ...`. Update the label on the original PR from @@ -188,6 +192,12 @@ For a list of commits that could be landed in a minor release on v1.x: N=1 sh -c 'branch-diff v$N.x-staging upstream/main --exclude-label=semver-major,dont-land-on-v$N.x,backport-requested-v$N.x,backport-blocked-v$N.x,backport-open-v$N.x,backported-to-v$N.x --filter-release --format=simple' ``` +If the target branch is an LTS line, you should also exclude the `baking-for-lts`: + +```bash +N=1 sh -c 'branch-diff v$N.x-staging upstream/main --exclude-label=semver-major,dont-land-on-v$N.x,backport-requested-v$N.x,backport-blocked-v$N.x,backport-open-v$N.x,backported-to-v$N.x,baking-for-lts --filter-release --format=simple' +``` + Previously released commits and version bumps do not need to be cherry-picked. @@ -207,6 +217,12 @@ command. N=1 sh -c 'branch-diff v$N.x-staging upstream/main --exclude-label=semver-major,dont-land-on-v$N.x,backport-requested-v$N.x,backport-blocked-v$N.x,backport-open-v$N.x,backported-to-v$N.x --filter-release --format=sha --reverse' | xargs git cherry-pick -S ``` +If the target branch is an LTS line, you should also exclude the `baking-for-lts`: + +```bash +N=1 sh -c 'branch-diff v$N.x-staging upstream/main --exclude-label=semver-major,dont-land-on-v$N.x,backport-requested-v$N.x,backport-blocked-v$N.x,backport-open-v$N.x,backported-to-v$N.x,baking-for-lts --filter-release --format=sha --reverse' | xargs git cherry-pick -S +``` + For patch releases, make sure to add the `semver-minor` tag to `exclude-label`