Skip to content

Commit da6a9c5

Browse files
authored
Merge pull request #333 from cloudfoundry/aspiring-approvers-as-reviewers
[RFC] Formally track aspiring approvers as reviewers
2 parents 6fad3fc + 0400a1b commit da6a9c5

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Meta
2+
[meta]: #meta
3+
- Name: Formally track aspiring approvers as reviewers
4+
- Start Date: 2022-07-05
5+
- Author(s): @rkoster, @stephanme
6+
- Status: Draft <!-- Acceptable values: Draft, Approved, On Hold, Superseded -->
7+
- RFC Pull Request: https://github.com/cloudfoundry/community/pull/333
8+
9+
10+
## Summary
11+
12+
Extend the working group yaml definitions to optionally include a `reviewers` key per area with a list of contributors who like to become approvers.
13+
The github org automation should use this information to create a github team for the area with `-reviewers` suffix and __read__ permissions.
14+
15+
This will later allow automatic assignment of PRs to be reviewed, which will help these contributors more easily satisfy the requirements to become approvers. An additional use case might be granting read access to non-public CI pipelines.
16+
17+
## Problem
18+
19+
Due to the way to cloudfoundy github organization is setup, contributors gain no additional access rights within the organization.
20+
This prevents PRs to be assigned to them to be reviewed.
21+
22+
In addition, the current process for getting people approver status relies a lot on the discipline of contributors to rack up the [needed contribution points](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0006-approver-requirements.md).
23+
Ideally we create an opt-in low resistance path, to help contributors get to approver status quicker.
24+
A lack of enough approvers hinders our ability as a community to review and approve PRs in a timely manner.
25+
Improving the number of approvers should be the top priority of working group leads.
26+
27+
## Proposal
28+
29+
Allow tracking aspiring approvers as `reviewers` per working group area. Create a `*-reviewers` team per area that includes a `reviewers` key with read access to the area's repos.
30+
31+
This extends [RFC-005 Standardizing Github Teams and Access](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0005-github-teams-and-access.md):
32+
33+
| Name of Team | Team Membership | Permissions |
34+
|---|---|---|
35+
| wg-[WORKING-GROUP-NAME]-[AREA-NAME]-reviewers | Contributors who want to become approver for an area within a WG | Read access for all repos in the area, so that PRs can be assigned for review |
36+
37+
`reviewers` are not included in the overall working group team `wg-[WORKING-GROUP-NAME]`.
38+
39+
Where:
40+
* `WORKING-GROUP-NAME` is the name of the Working Group, converted to kebab case,
41+
* `AREA-NAME` is the name of the area, also converted to kebab case, or a suitable short name that identifies it clearly and uniquely within the Working Group.
42+
43+
[RFC-008 Role Change Process](https://github.com/cloudfoundry/community/blob/main/toc/rfc/rfc-0008-role-change-process.md) gets extended as well:
44+
45+
### Promotion to Reviewer
46+
47+
- When a contributor wishes to get a Reviewer for a Working Group area,
48+
they may submit a PR to the appropriate Working Group Charter that adds
49+
themselves to the team's yaml definition.
50+
51+
- Two existing Approvers for that Working Group must support the promotion by reviewing the PR.
52+
There are no specific criteria beside being a contributor.
53+
54+
- For Working Groups with fewer than 4 approvers, a single Approver review is
55+
sufficient.
56+
57+
- An existing Approver may submit the promotion request on behalf of someone else, but they
58+
may not serve as a reviewer.
59+
60+
- A Working Group Lead for that Working Group will merge or close the PR, based
61+
on the results of the review and their discretion.
62+
63+
- TOC members may bypass the review process and merge the PR at their
64+
discretion.
65+
66+
### Revoking Reviewer Role
67+
68+
- People with an Reviewer role may submit a PR to revoke their role by removing the appropriate entry from the yaml definition in their Working Group's charter.
69+
70+
- An existing Approver may submit the revocation request on behalf of someone else, but the person whose role is being revoked must be given two weeks to refute the revocation.
71+
72+
- A Working Group Lead for that Working Group will merge or close the PR, at their discretion and without review.
73+
74+
- TOC members may merge the PR at their discretion.

0 commit comments

Comments
 (0)