2018-08-06 23:15:57 +00:00
---
title: Advanced contributing
slug: advanced
content_template: templates/concept
2020-04-02 23:03:51 +00:00
weight: 98
2018-08-06 23:15:57 +00:00
---
{{% capture overview %}}
2020-04-02 23:03:51 +00:00
This page assumes that you understand how to
[contribute to new content ](/docs/contribute/new-content/overview ) and
[review others' work ](/docs/contribute/review/reviewing-prs/ ), and are ready
2018-08-06 23:15:57 +00:00
to learn about more ways to contribute. You need to use the Git command line
client and other tools for some of these tasks.
{{% /capture %}}
{{% capture body %}}
## Be the PR Wrangler for a week
2020-04-02 23:03:51 +00:00
SIG Docs [approvers ](/docs/contribute/participating/#approvers ) take week-long turns [wrangling PRs ](https://github.com/kubernetes/website/wiki/PR-Wranglers ) for the repository.
2018-08-09 01:17:18 +00:00
2019-04-30 18:24:57 +00:00
The PR wrangler’ s duties include:
2018-08-06 23:15:57 +00:00
2019-09-25 15:52:01 +00:00
- Review [open pull requests ](https://github.com/kubernetes/website/pulls ) daily for quality and adherence to the [Style ](/docs/contribute/style/style-guide/ ) and [Content ](/docs/contribute/style/content-guide/ ) guides.
2019-04-30 18:24:57 +00:00
- Review the smallest PRs (`size/XS`) first, then iterate towards the largest (`size/XXL`).
- Review as many PRs as you can.
- Ensure that the CLA is signed by each contributor.
2019-05-05 01:11:36 +00:00
- Help new contributors sign the [CLA ](https://github.com/kubernetes/community/blob/master/CLA.md ).
- Use [this ](https://github.com/zparnold/k8s-docs-pr-botherer ) script to automatically remind contributors that haven’ t signed the CLA to sign the CLA.
2019-04-30 18:24:57 +00:00
- Provide feedback on proposed changes and help facilitate technical reviews from members of other SIGs.
- Provide inline suggestions on the PR for the proposed content changes.
- If you need to verify content, comment on the PR and request more details.
- Assign relevant `sig/` label(s).
- If needed, assign reviewers from the `reviewers:` block in the file's front matter.
- Assign `Docs Review` and `Tech Review` labels to indicate the PR's review status.
2020-05-10 21:42:03 +00:00
- Assign `Needs Doc Review` or `Needs Tech Review` for PRs that haven't yet been reviewed.
2019-04-30 18:24:57 +00:00
- Assign `Doc Review: Open Issues` or `Tech Review: Open Issues` for PRs that have been reviewed and require further input or action before merging.
2020-04-02 23:03:51 +00:00
- Assign `/lgtm` and `/approve` labels to PRs that can be merged.
2019-04-30 18:24:57 +00:00
- Merge PRs when they are ready, or close PRs that shouldn’ t be accepted.
2020-04-02 23:03:51 +00:00
- Triage and tag incoming issues daily. See [Triage and categorize issues ](/docs/contribute/review/for-approvers/#triage-and-categorize-issues ) for guidelines on how SIG Docs uses metadata.
2018-08-06 23:15:57 +00:00
2019-04-25 16:40:47 +00:00
### Helpful GitHub queries for wranglers
2019-01-17 17:48:36 +00:00
2020-05-10 21:42:03 +00:00
The following queries are helpful when wrangling. After working through these queries, the remaining list of PRs to be
2019-01-17 17:48:36 +00:00
reviewed is usually small. These queries specifically exclude localization PRs, and only include the `master` branch (except for the last one).
- [No CLA, not eligible to merge ](https://github.com/kubernetes/website/pulls?q=is%3Aopen+is%3Apr+label%3A%22cncf-cla%3A+no%22+-label%3Ado-not-merge+label%3Alanguage%2Fen ):
2019-04-30 18:24:57 +00:00
Remind the contributor to sign the CLA. If they have already been reminded by both the bot and a human, close
2019-01-17 17:48:36 +00:00
the PR and remind them that they can open it after signing the CLA.
2019-04-30 18:24:57 +00:00
**Do not review PRs whose authors have not signed the CLA!**
2019-01-17 17:48:36 +00:00
- [Needs LGTM ](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+-label%3Ado-not-merge+label%3Alanguage%2Fen+-label%3Algtm+ ):
If it needs technical review, loop in one of the reviewers suggested by the bot. If it needs docs review
or copy-editing, either suggest changes or add a copyedit commit to the PR to move it along.
- [Has LGTM, needs docs approval ](https://github.com/kubernetes/website/pulls?q=is%3Aopen+is%3Apr+-label%3Ado-not-merge+label%3Alanguage%2Fen+label%3Algtm ):
2019-04-30 18:24:57 +00:00
Determine whether any additional changes or updates need to be made for the PR to be merged. If you think the PR is ready to be merged, comment `/approve` .
2019-11-21 21:37:29 +00:00
- [Quick Wins ](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+base%3Amaster+-label%3A%22do-not-merge%2Fwork-in-progress%22+-label%3A%22do-not-merge%2Fhold%22+label%3A%22cncf-cla%3A+yes%22+label%3A%22size%2FXS%22+label%3A%22language%2Fen%22+ ): If it’ s a small PR against master with no clear blockers. (change "XS" in the size label as you work through the PRs [XS, S, M, L, XL, XXL]).
2019-04-30 18:24:57 +00:00
- [Not against master ](https://github.com/kubernetes/website/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+-label%3Ado-not-merge+label%3Alanguage%2Fen+-base%3Amaster ): If it's against a `dev-` branch, it's for an upcoming release. Make sure the [release meister ](https://github.com/kubernetes/sig-release/tree/master/release-team ) knows about it by adding a comment with `/assign @<meister's_github-username>` . If it's against an old branch, help the PR author figure out whether it's targeted against the best branch.
2019-01-17 17:48:36 +00:00
2019-07-14 12:17:03 +00:00
### When to close Pull Requests
2020-04-02 23:03:51 +00:00
Reviews and approvals are one tool to keep our PR queue short and current. Another tool is closure.
2019-07-14 12:17:03 +00:00
2020-04-02 23:03:51 +00:00
- Close any PR where the CLA hasn’ t been signed for two weeks.
2019-07-14 12:17:03 +00:00
PR authors can reopen the PR after signing the CLA, so this is a low-risk way to make sure nothing gets merged without a signed CLA.
- Close any PR where the author has not responded to comments or feedback in 2 or more weeks.
Don't be afraid to close pull requests. Contributors can easily reopen and resume works in progress. Oftentimes a closure notice is what spurs an author to resume and finish their contribution.
To close a pull request, leave a `/close` comment on the PR.
{{< note > }}
An automated service, [`fejta-bot` ](https://github.com/fejta-bot ) automatically marks issues as stale after 90 days of inactivity, then closes them after an additional 30 days of inactivity when they become rotten. PR wranglers should close issues after 14-30 days of inactivity.
{{< / note > }}
2018-08-06 23:15:57 +00:00
## Propose improvements
2019-09-25 15:52:01 +00:00
SIG Docs [members ](/docs/contribute/participating/#members ) can propose improvements.
2018-08-09 01:17:18 +00:00
2018-08-06 23:15:57 +00:00
After you've been contributing to the Kubernetes documentation for a while, you
2020-04-02 23:03:51 +00:00
may have ideas for improving the [Style Guide ](/docs/contribute/style/style-guide/ )
2019-09-25 15:52:01 +00:00
, the [Content Guide ](/docs/contribute/style/content-guide/ ), the toolchain used to build
2018-08-06 23:15:57 +00:00
the documentation, the website style, the processes for reviewing and merging
pull requests, or other aspects of the documentation. For maximum transparency,
these types of proposals need to be discussed in a SIG Docs meeting or on the
[kubernetes-sig-docs mailing list ](https://groups.google.com/forum/#!forum/kubernetes-sig-docs ).
In addition, it can really help to have some context about the way things
currently work and why past decisions have been made before proposing sweeping
changes. The quickest way to get answers to questions about how the documentation
currently works is to ask in the `#sig-docs` Slack channel on
[kubernetes.slack.com ](https://kubernetes.slack.com )
2018-08-21 18:45:46 +00:00
After the discussion has taken place and the SIG is in agreement about the desired
2018-08-06 23:15:57 +00:00
outcome, you can work on the proposed changes in the way that is the most
appropriate. For instance, an update to the style guide or the website's
functionality might involve opening a pull request, while a change related to
documentation testing might involve working with sig-testing.
## Coordinate docs for a Kubernetes release
2018-08-09 01:17:18 +00:00
SIG Docs [approvers ](/docs/contribute/participating/#approvers ) can coordinate
docs for a Kubernetes release.
2018-08-06 23:15:57 +00:00
Each Kubernetes release is coordinated by a team of people participating in the
2018-08-21 18:45:46 +00:00
sig-release Special Interest Group (SIG). Others on the release team for a given
2018-08-06 23:15:57 +00:00
release include an overall release lead, as well as representatives from sig-pm,
sig-testing, and others. To find out more about Kubernetes release processes,
refer to
[https://github.com/kubernetes/sig-release ](https://github.com/kubernetes/sig-release ).
The SIG Docs representative for a given release coordinates the following tasks:
- Monitor the feature-tracking spreadsheet for new or changed features with an
impact on documentation. If documentation for a given feature won't be ready
for the release, the feature may not be allowed to go into the release.
- Attend sig-release meetings regularly and give updates on the status of the
docs for the release.
2018-08-21 18:45:46 +00:00
- Review and copyedit feature documentation drafted by the SIG responsible for
2018-08-06 23:15:57 +00:00
implementing the feature.
- Merge release-related pull requests and maintain the Git feature branch for
the release.
- Mentor other SIG Docs contributors who want to learn how to do this role in
the future. This is known as "shadowing".
- Publish the documentation changes related to the release when the release
artifacts are published.
Coordinating a release is typically a 3-4 month commitment, and the duty is
rotated among SIG Docs approvers.
2019-04-17 22:30:01 +00:00
## Serve as a New Contributor Ambassador
SIG Docs [approvers ](/docs/contribute/participating/#approvers ) can serve as
2020-04-02 23:03:51 +00:00
New Contributor Ambassadors.
2019-04-17 22:30:01 +00:00
2020-04-02 23:03:51 +00:00
New Contributor Ambassadors welcome new contributors to SIG-Docs,
2019-04-17 22:30:01 +00:00
suggest PRs to new contributors, and mentor new contributors through their first
2020-04-02 23:03:51 +00:00
few PR submissions.
2019-04-17 22:30:01 +00:00
2020-04-02 23:03:51 +00:00
Responsibilities for New Contributor Ambassadors include:
2019-04-17 22:30:01 +00:00
2020-04-02 23:03:51 +00:00
- Monitoring the [#sig-docs Slack channel ](https://kubernetes.slack.com ) for questions from new contributors.
- Working with PR wranglers to identify good first issues for new contributors.
- Mentoring new contributors through their first few PRs to the docs repo.
2019-04-17 22:30:01 +00:00
- Helping new contributors create the more complex PRs they need to become Kubernetes members.
2020-04-02 23:03:51 +00:00
- [Sponsoring contributors ](/docs/contribute/advanced/#sponsor-a-new-contributor ) on their path to becoming Kubernetes members.
2019-04-17 22:30:01 +00:00
2020-04-02 23:03:51 +00:00
Current New Contributor Ambassadors are announced at each SIG-Docs meeting, and in the [Kubernetes #sig-docs channel ](https://kubernetes.slack.com ).
2019-04-17 22:30:01 +00:00
2018-08-09 01:17:18 +00:00
## Sponsor a new contributor
SIG Docs [reviewers ](/docs/contribute/participating/#reviewers ) can sponsor
new contributors.
After a new contributor has successfully submitted 5 substantive pull requests
2018-11-05 05:32:19 +00:00
to one or more Kubernetes repositories, they are eligible to apply for
2018-08-09 01:17:18 +00:00
[membership ](/docs/contribute/participating#members ) in the Kubernetes
organization. The contributor's membership needs to be backed by two sponsors
who are already reviewers.
New docs contributors can request sponsors by asking in the #sig -docs channel
on the [Kubernetes Slack instance ](https://kubernetes.slack.com ) or on the
[SIG Docs mailing list ](https://groups.google.com/forum/#!forum/kubernetes-sig-docs ).
If you feel confident about the applicant's work, you volunteer to sponsor them.
When they submit their membership application, reply to the application with a
"+1" and include details about why you think the applicant is a good fit for
membership in the Kubernetes organization.
2019-05-16 01:19:43 +00:00
## Serve as a SIG Co-chair
SIG Docs [approvers ](/docs/contribute/participating/#approvers ) can serve a term as a co-chair of SIG Docs.
### Prerequisites
Approvers must meet the following requirements to be a co-chair:
- Have been a SIG Docs approver for at least 6 months
2019-08-13 16:20:16 +00:00
- Have [led a Kubernetes docs release ](/docs/contribute/advanced/#coordinate-docs-for-a-kubernetes-release ) or shadowed two releases
2019-05-16 01:19:43 +00:00
- Understand SIG Docs workflows and tooling: git, Hugo, localization, blog subproject
2020-04-02 23:03:51 +00:00
- Understand how other Kubernetes SIGs and repositories affect the SIG Docs workflow, including: [teams in k/org ](https://github.com/kubernetes/org/blob/master/config/kubernetes/sig-docs/teams.yaml ), [process in k/community ](https://github.com/kubernetes/community/tree/master/sig-docs ), plugins in [k/test-infra ](https://github.com/kubernetes/test-infra/ ), and the role of [SIG Architecture ](https://github.com/kubernetes/community/tree/master/sig-architecture ).
2019-05-16 01:19:43 +00:00
- Commit at least 5 hours per week (and often more) to the role for a minimum of 6 months
### Responsibilities
2020-04-02 23:03:51 +00:00
The role of co-chair is one of service: co-chairs build contributor capacity, handle process and policy, schedule and run meetings, schedule PR wranglers, advocate for docs in the Kubernetes community, make sure that docs succeed in Kubernetes release cycles, and keep SIG Docs focused on effective priorities.
2019-05-16 01:19:43 +00:00
Responsibilities include:
- Keep SIG Docs focused on maximizing developer happiness through excellent documentation
- Exemplify the [community code of conduct ](https://github.com/cncf/foundation/blob/master/code-of-conduct.md ) and hold SIG members accountable to it
- Learn and set best practices for the SIG by updating contribution guidelines
- Schedule and run SIG meetings: weekly status updates, quarterly retro/planning sessions, and others as needed
- Schedule and run doc sprints at KubeCon events and other conferences
2019-07-12 01:03:07 +00:00
- Recruit for and advocate on behalf of SIG Docs with the {{< glossary_tooltip text = "CNCF" term_id = "cncf" > }} and its platinum partners, including Google, Oracle, Azure, IBM, and Huawei
2019-05-16 01:19:43 +00:00
- Keep the SIG running smoothly
### Running effective meetings
To schedule and run effective meetings, these guidelines show what to do, how to do it, and why.
**Uphold the [community code of conduct ](https://github.com/cncf/foundation/blob/master/code-of-conduct.md )**:
- Hold respectful, inclusive discussions with respectful, inclusive language.
**Set a clear agenda**:
- Set a clear agenda of topics
2019-07-12 01:03:07 +00:00
- Publish the agenda in advance
2019-05-16 01:19:43 +00:00
For weekly meetings, copypaste the previous week's notes into the "Past meetings" section of the notes
2018-08-06 23:15:57 +00:00
2019-05-16 01:19:43 +00:00
**Collaborate on accurate notes**:
- Record the meeting's discussion
- Consider delegating the role of note-taker
**Assign action items clearly and accurately**:
- Record the action item, who is assigned to it, and the expected completion date
**Moderate as needed**:
- If discussion strays from the agenda, refocus participants on the current topic
- Make room for different discussion styles while keeping the discussion focused and honoring folks' time
**Honor folks' time**:
2020-04-02 23:03:51 +00:00
Begin and end meetings on time.
2019-05-16 01:19:43 +00:00
**Use Zoom effectively**:
- Familiarize yourself with [Zoom guidelines for Kubernetes ](https://github.com/kubernetes/community/blob/master/communication/zoom-guidelines.md )
- Claim the host role when you log in by entering the host key
< img src = "/images/docs/contribute/claim-host.png" width = "75%" alt = "Claiming the host role in Zoom" / >
### Recording meetings on Zoom
When you’ re ready to start the recording, click Record to Cloud.
2020-04-02 23:03:51 +00:00
2019-05-16 01:19:43 +00:00
When you’ re ready to stop recording, click Stop.
The video uploads automatically to YouTube.
2020-05-10 21:42:03 +00:00
{{% /capture %}}