Objectives
This unit will teach you all about how to submit and manage pull requests for the different Kuberenetes repositories. By the end of this unit, you will be able to:
- Reference and operate in the Kubernetes GitHub workflow
- Recognize common bots and their messages
- Respond to code comments and test failures
What is a pull request?
Before we start teaching you how to use pull requests, we should tell you what they are!
- A pull request is how you communicate that you have a Git branch filled with completed changes that you wish to merge with a repository on GitHub.
- Pull requests allow contributors to collaborate, review code, run tests, and confirm critical details before new changes are integrated into a project.
- You will frequently see a pull request called a “PR”.
- Kubernetes relies heavily on GitHub’s pull request system. The GitHub docs have a thorough dive into pull requests. Go deeper!
Where do I make a pull request?
Before creating a pull request, you should:
- Figure out which repository and SIG is responsible for your changes.
- Check to see if an issue already exists for your change, and if not open one.
- Consider attending a SIG meeting and adding your issue to the agenda.
- Discuss your issue on Slack or on the mailing list.
How do I open a pull request?
You’ll want to review the basic pull request process you learned at the end of Unit 2.
How does Kubernetes use pull requests?
Kubernetes generally follows the standard GitHub pull request process, but there is a layer of additional Kubernetes specific (and sometimes SIG specific) differences.
How does the pull request review process work?
- Anyone can review a documentation pull request. Code pull requests require approved reviewers.
- In addition to code-related concerns, pull request reviews also look at:
- Language and grammar
- Content
- Potential website changes
You can respond to comments from reviewers through comments or additional changes that you push to your development branch. We will cover code review in a later unit.
When are my pull requests run through tests?
What do I do if my test fails?
We will cover tests in more detail in a later unit.