-
Couldn't load subscription status.
- Fork 5.3k
Update Development Automation and Pull Request Process #1016
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
Conversation
contributors/devel/automation.md
Outdated
| * Jenkins unit/integration | ||
| * The PR must have the label `cncf-cla: yes` or `cla: human-approved` | ||
| * The PR must be mergeable, aka cannot need a rebase | ||
| * All of the [Required Github CI Tests](https://github.com/kubernetes/test-infra/blob/master/mungegithub/submit-queue/deployment/kubernetes/configmap.yaml#L15) must be green |
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.
This list is available in a more user friendly version at https://submit-queue.k8s.io/#/info on the Merge Requirements tab. That tab is also dynamically updated, so perhaps it's a better source for this list?
contributors/devel/automation.md
Outdated
|
|
||
| ### Merge process | ||
|
|
||
| Merges _only_ occur when the [critical builds](http://submit-queue.k8s.io/#/e2e) |
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.
There is no e2e tab anymore and no such thing as critical builds. All the ci builds are non-blocking.
contributors/devel/automation.md
Outdated
| If the PR has the `retest-not-required` label, it is simply merged. If the PR does | ||
| not have this label the e2e, unit/integration, and node tests are re-run. If these | ||
| tests pass a second time, the PR will be merged as long as the `critical builds` are | ||
| not have this label, the [Required Github CI Tests](https://github.com/kubernetes/test-infra/blob/master/mungegithub/submit-queue/deployment/kubernetes/configmap.yaml#L15) |
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.
Same as above, the list of retests needed is on the merge requirements page
contributors/devel/automation.md
Outdated
|
|
||
| This runs repeatedly over github pulls and issues and runs modular "mungers" | ||
| similar to "mungedocs." The mungers include the 'submit-queue' referenced above along | ||
| This runs repeatedly over github pulls and issues and runs modular `mungers` |
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.
single backticks are usually for commands/labels.. "mungers" should probably stay double quoted
contributors/devel/automation.md
Outdated
|
|
||
| ## Github Munger | ||
|
|
||
| We run [github "mungers"](https://github.com/kubernetes/contrib/tree/master/mungegithub). |
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.
This doesn't talk about prow and the difference between mungegithub and prow.
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.
Also the link is wrong.
contributors/devel/pull-requests.md
Outdated
| 1. No changes made since last `lgtm` label applied | ||
| 1. If tests fail, resolve issues by pushing edits to your PR branch | ||
| 1. If the failure is a flake, a member can comment `@k8s-bot [e2e|unit] test this issue: #<flake issue>` | ||
| 1. If the failure is a flake, anyone can comment `/retest` |
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.
This isn't true if the PR hasn't been marked okay (e.g. a single test run was started with /test all or by /lgtm, without the PR itself being marked trusted).
|
cc @kubernetes/sig-testing-pr-reviews @kubernetes/sig-contributor-experience-pr-reviews |
|
@cblecker Most of the review comments addressed. PTAL. Thanks! Please note that I didn't address below comment since I think this is a somehow big topic and I'm not sure how to talk about it now :) Hope other folks can do it in the near future.
|
contributors/devel/automation.md
Outdated
| with that message. ("please" is optional, but remember to treat your robots with | ||
| kindness...) | ||
| Before a PR from an unknown user is run, the PR builder bot (`k8s-ci-robot`) asks to | ||
| a message from a kubernetes member that a PR is `ok-to-test`, the member replies |
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.
"kubernetes member that a PR is safe to test. If it is, the member can reply with the /ok-to-test command on a single line to begin CI testing."
contributors/devel/automation.md
Outdated
| * The PR must have the `lgtm` label. The `lgtm` label is automatically applied | ||
| following a review comment consisting of `/lgtm` (case-insensitive) in a single line | ||
| * The PR must not have been updated since the `lgtm` label was applied | ||
| * The PR must have the `approved` label. The `approved` label is automatically applied after all approvers have approved the PR |
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.
nit: line length should wrap at 80 chars
contributors/devel/automation.md
Outdated
| * The PR must not have been updated since the `lgtm` label was applied | ||
| * The PR must have the `approved` label. The `approved` label is automatically applied after all approvers have approved the PR | ||
| by a comment consisting of `/approve` (case-insensitive) in a single line | ||
| * The PR must not have the `do-not-merge` label or any of other `do-not-merge/*` labels, e.g., `do-not-merge/release-note-label-needed` |
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.
nit: line length should wrap at 80 chars
contributors/devel/automation.md
Outdated
| the issue number you found or filed. | ||
| during the original test. It would be good to file flakes as an | ||
| [issue](https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3Akind%2Fflake). | ||
| k8s-ci-robot will comment to tell you which test(s) failed and how to re-test. |
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.
nit: @k8s-ci-robot
contributors/devel/pull-requests.md
Outdated
| ## The Testing and Merge Workflow | ||
|
|
||
| The Kubernetes merge workflow uses comments to run tests and labels for merging PRs. NOTE: For pull requests that are in progress but not ready for review, prefix the PR title with "WIP" and track any remaining TODOs in a checklist in the pull request description. | ||
| The Kubernetes merge workflow uses comments to run tests and labels for merging PRs. NOTE: For pull requests that are in progress but not ready for review, prefix the PR title with `WIP` and track any remaining TODOs in a checklist in the pull request description. |
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.
nit: 80 characters. also I think it's [WIP] isn't it?
a2d04e5 to
ab71413
Compare
| The Kubernetes merge workflow uses comments to run tests and labels for merging PRs. NOTE: For pull requests that are in progress but not ready for review, prefix the PR title with `WIP` and track any remaining TODOs in a checklist in the pull request description. | ||
| The Kubernetes merge workflow uses comments to run tests and labels for merging PRs. | ||
| NOTE: For pull requests that are in progress but not ready for review, | ||
| prefix the PR title with `WIP` or `[WIP]` and track any remaining TODOs |
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.
also I think it's [WIP] isn't it?
@cblecker we allow prefix with both WIP and [WIP].
https://github.com/kubernetes/test-infra/blob/master/prow/plugins/wip/wip-label.go#L40
|
@cblecker PTAL. Thanks! |
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'm good with this (you can squash from addressing my comments). I'd like one more person to give it a look over before merge.
ab71413 to
629d174
Compare
|
@cblecker squashed :) |
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.
/lgtm
The "PR is considered ready for merging" description is likely to fall out of date. It also makes some assumptions about prow and mungegithub's submit-queue being active for a given repo and configured a certain way. So most of this only applies to e.g.: kubernetes/kubernetes. But this is much better than what was there before.
|
Automatic merge from submit-queue. . |
|
Thanks @spiffxp ! Yes the document can be better and should be kept fresh each time when we update the process and/or the bots' behaviors :) |
|
Sorry... didn't really complete my thought above. Linking directly to the submit queue's merge requirements would be more ideal. The docs are generated based on which flags are enabled/disabled, and they're close to the code that implements the logic they describe, so they're more likely to be up to date. That said, only a few repos have a submit queue on them, and in ways I can't articulate right now, they submit queue's docs appear less clear than the docs here. So there's room for improvement over there before we just link directly to eg: https://community.submit-queue.k8s.io/#/info |
Automatic merge from submit-queue. . Update merge requirements in doc fixes: #1016 (comment) /cc @spiffxp
fixes: #834
/cc @bgrant0607 @spiffxp