-
Notifications
You must be signed in to change notification settings - Fork 5.3k
governance: updating review changes #30995
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
Merged
Merged
Changes from all commits
Commits
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 hidden or 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 |
|---|---|---|
|
|
@@ -237,18 +237,19 @@ Please note that if adding a runtime guarded feature, your [release notes](chang | |
| * Typically we try to turn around reviews within one business day. | ||
| * See [OWNERS.md](OWNERS.md) for the current list of maintainers. | ||
| * It is generally expected that a senior maintainer should review every PR to | ||
| core code. Test-only or extension-only changes need only be reviewed by a | ||
| maintainer, or senior extension maintainer. | ||
| core code. Changes which only touch tests, extensions, tools, docs or comments | ||
| need only be reviewed by a maintainer, or senior extension maintainer. | ||
| * It is also generally expected that a "domain expert" for the code the PR touches should review the | ||
| PR. This person does not necessarily need to have commit access. | ||
| * The previous two points generally mean that every PR should have two approvals. (Exceptions can | ||
|
||
| be made by the senior maintainers). | ||
| * The above rules may be waived for PRs which only update docs or comments, or trivial changes to | ||
|
||
| tests and tools (where trivial is decided by the maintainer in question). | ||
| * In general, we should also attempt to make sure that at least one of the approvals is *from an | ||
| * For new extensions (contrib or otherwise) and features, at least one of the approvals should be *from an | ||
| organization different from the PR author.* E.g., if Lyft authors a PR, at least one approver | ||
| should be from an organization other than Lyft. This helps us make sure that we aren't putting | ||
| organization specific shortcuts into the code. | ||
| new HTTP/3 features are largely exempt from cross-company approvals as all of the | ||
| area experts work at a single company, but HTTP/3 changes which impact general | ||
| functionality still merit a cross-company check. | ||
| * contrib extensions do not need senior maintainer or maintainer review only contrib owner review and | ||
| a maintainer stamp to merge. | ||
| * If there is a question on who should review a PR please discuss in Slack. | ||
| * Anyone is welcome to review any PR that they want, whether they are a maintainer or not. | ||
| * Please make sure that the PR title, commit message, and description are updated if the PR changes | ||
|
|
||
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.
extensionsis a bit vague here, since we split many core feature as extensions, e.g. HCM, TLS. Let's say contrib extensions?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.
+1, does it mean all extensions or non core extensions?
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.
Can we clarify what is "core code" / "core extensions" refers to especially given the points made above
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.
hm, what if we move the "core" code back out of extensions? E-M doesn't care where it lives as long as it isn't linked in. then we have a very clear "if it's in this directory it doesn't need senior review" guidance.
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 agree that some extensions are more critical than others.
I also agree that indicating that via directory structure makes a lot of sense, so it's easy to tell the difference without needing to consult a list or something.
But my understanding is that some of the previously-core code was moved to extensions so we could use the existing build system mechanism to exclude it easily (intended for E-M, but may be useful in other cases).
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.
Probably all of the TCP/HTTP connection pool/upstream stuff? I haven't kept up to date with everything that was split out but I would say in general anything that is required for the basic HTTP proxy case, including HCM.
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.
HCM code is already in code but I can move the config files too, good call.
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.
filed #31113 folks can add things there either now, or later on as we think something needs more careful review.
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 think I'd include TLS as well; it's always been an extension, but it's extremely widely used, and easy to mess up in ways that cause security bugs.
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.
SGTM