Skip to content

Latest commit

 

History

History
116 lines (81 loc) · 4.43 KB

pull-requests.md

File metadata and controls

116 lines (81 loc) · 4.43 KB

WARNING WARNING WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree

If you are using a released version of Kubernetes, you should refer to the docs that go with that version.

The latest release of this document can be found [here](http://releases.k8s.io/release-1.2/docs/devel/pull-requests.md).

Documentation for other releases can be found at releases.k8s.io.

Pull Request Process

An overview of how pull requests are managed for kubernetes. This document assumes the reader has already followed the development guide to set up their environment.

Life of a Pull Request

Unless in the last few weeks of a milestone when we need to reduce churn and stabilize, we aim to be always accepting pull requests.

Either the on call manually or the github "munger" submit-queue plugin automatically will manage merging PRs.

There are several requirements for the submit-queue to work:

  • Author must have signed CLA ("cla: yes" label added to PR)
  • No changes can be made since last lgtm label was applied
  • k8s-bot must have reported the GCE E2E build and test steps passed (Travis, Jenkins unit/integration, Jenkins e2e)

Additionally, for infrequent or new contributors, we require the on call to apply the "ok-to-merge" label manually. This is gated by the whitelist.

Before sending a pull request

The following will save time for both you and your reviewer:

  • Enable pre-commit hooks and verify they pass.
  • Verify hack/verify-generated-docs.sh passes.
  • Verify hack/test-go.sh passes.

Release Notes

All pull requests are initiated with a needs-release-note label. There are many release-note-* label options, including release-note-none. If your PR does not require any visibility at release time, you may use a release-note-none label. Otherwise, please choose a release-note-* label that fits your PR.

Additionally, release-note-none is not allowed on PRs on release branches.

Finally, ensure your PR title is the release note you want published at relase time.

Visual overview

PR workflow

Other notes

Pull requests that are purely support questions will be closed and redirected to stackoverflow. We do this to consolidate help/support questions into a single channel, improve efficiency in responding to requests and make FAQs easier to find.

Pull requests older than 2 weeks will be closed. Exceptions can be made for PRs that have active review comments, or that are awaiting other dependent PRs. Closed pull requests are easy to recreate, and little work is lost by closing a pull request that subsequently needs to be reopened. We want to limit the total number of PRs in flight to:

  • Maintain a clean project
  • Remove old PRs that would be difficult to rebase as the underlying code has changed over time
  • Encourage code velocity

Automation

We use a variety of automation to manage pull requests. This automation is described in detail elsewhere.

Analytics