-
Notifications
You must be signed in to change notification settings - Fork 30k
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
doc: update landing pr info in onboarding doc #8344
Closed
Closed
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
b831bea
doc: update landing pr info in onboarding doc
Trott 8a98226
squash: address nits
Trott 2f5bfe3
squash: rewording
Trott 95354ba
squash: add trivial example
Trott ee1eb7e
squash: more trivial info
Trott 2bd288c
squash: addons
Trott File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -116,39 +116,41 @@ onboarding session. | |
* The remaining elements on the form are typically unchanged with the exception of `POST_STATUS_TO_PR`. Check that if you want a CI status indicator to be automatically inserted into the PR. | ||
|
||
|
||
## process for getting code in | ||
## Landing PRs: Overview | ||
|
||
* the collaborator guide is a great resource: https://github.com/nodejs/node/blob/master/COLLABORATOR_GUIDE.md#technical-howto | ||
* The [Collaborator Guide](https://github.com/nodejs/node/blob/master/COLLABORATOR_GUIDE.md#technical-howto) is a great resource. | ||
|
||
|
||
* no one (including TSC or CTC members) pushes directly to master without review | ||
* an exception is made for release commits only | ||
* No one (including TSC or CTC members) pushes directly to master without review. | ||
* An exception is made for release commits only. | ||
|
||
|
||
* one "LGTM" is usually sufficient, except for semver-major changes | ||
* the more the better | ||
* semver-major (breaking) changes must be reviewed in some form by the CTC | ||
* One `LGTM` is sufficient, except for semver-major changes. | ||
* More than one is better. | ||
* Breaking changes must be LGTM'ed by at least two CTC members. | ||
* If one or more Collaborators object to a change, it should not land until | ||
the objection is addressed. The options for such a situation include: | ||
* Engaging those with objections to determine a viable path forward; | ||
* Altering the pull request to address the objections; | ||
* Escalating the discussion to the CTC using the `ctc-agenda` label. | ||
This should only be done after other options have been exhausted. | ||
|
||
* Wait before merging non-trivial changes. | ||
* 48 hours during the week and 72 hours on weekends. | ||
* An example of a trivial change would be correcting the misspelling of a single word in a documentation file. This sort of change still needs to receive at least one `LGTM` but it does not need to wait 48 hours before landing. | ||
|
||
* be sure to wait before merging non-trivial changes | ||
* 48 hours for non-trivial changes, and 72 hours on weekends. | ||
* **Run the PR through CI before merging!** | ||
* An exception can be made for documentation-only PRs as long as it does not include the `addons.md` documentation file. (Example code from that document is extracted and built as part of the tests!) | ||
|
||
|
||
* **make sure to run the PR through CI before merging!** (Except for documentation PRs) | ||
|
||
|
||
* once code is ready to go in: | ||
* [**See "Landing PRs"**](#landing-prs) below | ||
|
||
|
||
* what if something goes wrong? | ||
* ping a CTC member | ||
* What if something goes wrong? | ||
* Ping a CTC member. | ||
* `#node-dev` on freenode | ||
* force-pushing to fix things after is allowed for ~10 minutes, be sure to notify people in IRC if you need to do this, but avoid it | ||
* Info on PRs that don't like to apply found under [**"If `git am` fails"**](./onboarding-extras.md#if-git-am-fails). | ||
* Force-pushing to fix things after is allowed for ~10 minutes. Avoid it if you can. | ||
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. This is still important edit: nvm, see it below... |
||
* Use `--force-with-lease` to minimize the chance of overwriting someone else's change. | ||
* Post to `#node-dev` (IRC) if you force push. | ||
|
||
|
||
## Landing PRs | ||
## Landing PRs: Details | ||
|
||
* Please never use GitHub's green "Merge Pull Request" button. | ||
* If you do, please force-push removing the merge. | ||
|
@@ -160,6 +162,7 @@ Update your `master` branch (or whichever branch you are landing on, almost alwa | |
Landing a PR | ||
|
||
* if it all looks good, `curl -L 'url-of-pr.patch' | git am` | ||
* If `git am` fails, see [the relevant section of the Onboarding Extras doc](./onboarding-extras.md#if-git-am-fails). | ||
* `git rebase -i upstream/master` | ||
* squash into logical commits if necessary | ||
* `./configure && make -j8 test` (`-j8` builds node in parallel with 8 threads. adjust to the number of cores (or processor-level threads) your processor has (or slightly more) for best results.) | ||
|
@@ -171,7 +174,7 @@ Landing a PR | |
* `Reviewed-By: human <email>` | ||
* Easiest to use `git log` then do a search | ||
* (`/Name` + `enter` (+ `n` as much as you need to) in vim) | ||
* Only include collaborators who have commented "LGTM" | ||
* Only include collaborators who have commented `LGTM` | ||
* `PR-URL: <full-pr-url>` | ||
* `git push upstream master` | ||
* close the original PR with "Landed in `<commit hash>`". | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Or corrections to the commit log within the 10 minute window?
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.
Technically, I suppose yes. No one has ever been confused about that, as far as I know, though. And I'd prefer to avoid introducing content that my increase cognitive load without providing valuable information. If you want to propose some language that you think would work, I'm open to it.