Skip to content

Commit e1fd2f2

Browse files
committed
doc: include updating release optional step
PR-URL: #46089 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Ruy Adorno <[email protected]> Reviewed-By: Beth Griggs <[email protected]>
1 parent 750fcf8 commit e1fd2f2

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

doc/contributing/releases.md

+45
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ official release builds for Node.js, hosted on <https://nodejs.org/>.
2020
* [5. Create release commit](#5-create-release-commit)
2121
* [6. Propose release on GitHub](#6-propose-release-on-github)
2222
* [7. Ensure that the release branch is stable](#7-ensure-that-the-release-branch-is-stable)
23+
* [7.1 Updating the release _(optional)_](#7-1-updating-the-release-optional)
2324
* [8. Produce a nightly build _(optional)_](#8-produce-a-nightly-build-optional)
2425
* [9. Produce release builds](#9-produce-release-builds)
2526
* [10. Test the build](#10-test-the-build)
@@ -545,6 +546,50 @@ with the Build Working Group.
545546

546547
</details>
547548

549+
#### 7.1 Updating the release _(optional)_
550+
551+
Sometimes a release might be deferred to the subsequent day due to several
552+
conditions:
553+
554+
* Unstable CI
555+
* Late CI completion
556+
557+
And when it happens, the CHANGELOG\_Vx and the commit metadata needs to be
558+
updated according to the new target date.
559+
560+
However, if it's just the changelog/commit message that has changed since the
561+
last CI execution, there's no need to rerun CI, V8, or CITGM workflows.
562+
The PR still needs a clean GitHub action run, and the original CI, V8, and
563+
CITGM run should be in a visible comment.
564+
565+
There are some cases when a commit needs to be dropped or adjusted,
566+
consider using the following approach:
567+
568+
1. Update staging
569+
570+
```console
571+
$ git checkout v1.x-staging
572+
$ git rebase -i $HASH_PREVIOUS_BAD_COMMIT
573+
... drop or edit the bad commit(s)
574+
$ git push -f upstream v1.x-staging
575+
```
576+
577+
2. Rebase the proposal against the updated staging branch
578+
579+
```console
580+
$ git checkout v1.2.3-proposal
581+
$ git checkout -b v1.2.3-proposal-tmp
582+
$ git checkout v1.2.3-proposal
583+
584+
$ git reset --hard upstream/v1.x-staging
585+
$ git cherry-pick v1.2.3-proposal-tmp
586+
```
587+
588+
Note the `tmp` branch was created just to save the release commit.
589+
590+
3. Re-run `changelog-maker` and update the CHANGELOG\_Vx to include the new
591+
Git SHAs. Remember to update the commit message if applicable.
592+
548593
### 8. Produce a nightly build _(optional)_
549594

550595
If there is a reason to produce a test release for the purpose of having others

0 commit comments

Comments
 (0)