Skip to content

Commit 2153403

Browse files
committed
GOVERNANCE: Update Reviwer role and process
1 parent e5f577c commit 2153403

4 files changed

Lines changed: 86 additions & 74 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 'Reviewer Request'
2+
description: 'A request to become a Backstage reviewer'
3+
title: 'Reviewer: <your-github-login>'
4+
labels:
5+
- reviewer-request
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: >
10+
### Thank you for your interest and contributions to the Backstage project! 🙏
11+
12+
- type: markdown
13+
attributes:
14+
value: >
15+
This form is used to request Reviewer status in the Backstage project,
16+
as described by the [Backstage Governance](https://github.com/backstage/community/blob/master/GOVERNANCE.md#reviewer).
17+
In addition to becoming a member of the `@backstage/reviewers` team, this role also
18+
comes with the responsibilities and requirements that are described in the governance.
19+
20+
- type: markdown
21+
attributes:
22+
value: <br>
23+
24+
- type: textarea
25+
id: reviewer-examples
26+
validations:
27+
required: true
28+
attributes:
29+
label: 'Reviewer examples'
30+
description: 'Please link to at least two reviews you have provided as an outside collaborator in the Backstage project'
31+
placeholder: 'Link to pull request reviews'
32+
33+
- type: textarea
34+
id: other
35+
attributes:
36+
label: 'Any other context that you wish to share'
37+
38+
- type: checkboxes
39+
id: read-reviewer-responsibilities
40+
attributes:
41+
label: 'Have you read the Reviewer responsibilities?'
42+
options:
43+
- label: >
44+
I have read and understood the [Reviewer responsibilities](https://github.com/backstage/community/blob/master/GOVERNANCE.md#reviewer).
45+
required: true
46+
47+
- type: checkboxes
48+
id: already-org-member
49+
attributes:
50+
label: 'Are you already an Organization Member?'
51+
options:
52+
- label: 'I am already an Organization Member.'
53+
required: true

GOVERNANCE.md

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -158,34 +158,50 @@ encouraged to review pull requests, a Reviewer is formally recognized as a
158158
trusted voice in the review process. This role is a great way to contribute to
159159
the project and can be a stepping stone towards becoming a maintainer.
160160

161+
Reviewers are members of the `@backstage/reviewers` GitHub team. Approving
162+
reviews from members of this team will add the `reviewer-approved` label to the
163+
pull request, greatly increasing its priority for review by owners of the
164+
project area. The `@backstage/reviewers` group does not grant write access or
165+
ability to merge pull requests.
166+
167+
Members of the `@backstage/reviewers` group that submit reviews will also have
168+
their own pull requests prioritized higher. Reviewers that are found to be
169+
submitting low-quality or spammy reviews may have their priority penalized or be
170+
removed from the group.
171+
161172
#### Responsibilities
162173

163174
- Actively review pull requests, providing constructive, kind, and helpful
164175
feedback.
165176
- Follow the project's
166177
[reviewing guide](https://github.com/backstage/backstage/blob/master/REVIEWING.md).
167-
- Help contributors get their PRs into a mergeable state.
168-
- Help triage issues and apply labels where appropriate.
178+
- Help contributors get their pull requests into a mergeable state.
169179

170180
#### Requirements
171181

172-
- Has a track record of providing high-quality, constructive reviews on several
173-
pull requests across the project.
174-
- Demonstrates a good understanding of the project's coding conventions, values,
175-
and best practices.
176-
- Is supportive of new and occasional contributors and helps get useful PRs in
177-
shape to merge.
182+
- Is an Organization Member that has been following the requirements for that
183+
role.
184+
- Has submitted at least two pull requests reviews in the Backstage project with helpful feedback for the author of the pull request.
185+
- Keeps providing constructive and helpful reviews on pull requests, with at
186+
least 5 reviews per year.
187+
- Demonstrates an ongoing understanding of the project's coding conventions,
188+
values, and best practices.
178189

179190
#### Privileges
180191

181-
- May be formally requested for reviews on specific PRs.
182-
- May be granted triage access to repositories to help manage issues and PRs.
192+
- Membership in the `@backstage/reviewers` GitHub team.
193+
- Higher priority on own pull requests, based on review activity.
194+
- Access to the GitHub Project
195+
[Review Board](https://github.com/orgs/backstage/projects/14/views/1).
196+
- May be granted triage access to repositories to help manage issues and PRs
197+
(separate from the reviewers team).
183198

184199
#### Becoming a Reviewer
185200

186-
Contributors can be nominated by any Project Area or Core Maintainer. The
187-
nomination is discussed and approved by the maintainers of the relevant project
188-
area(s).
201+
Open an issue towards the community repository using the [reviewer request template](https://github.com/backstage/community/issues/new?template=reviewer.yaml&title=Reviewer%3A+%3Cyour-github-login%3E).
202+
This request should include links to at least two reviews that have been
203+
provided somewhere in the Backstage project. As long as the requirements are met, a Core Maintainer
204+
will grant Reviewer status through an addition to the `@backstage/reviewers` GitHub team.
189205

190206
### Plugin Maintainer
191207

project-areas/Maintainer-Guidance.md

Lines changed: 3 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -30,63 +30,9 @@ open without having it marked as stale, you can add the `will-fix` label.
3030

3131
### Pull Request Management
3232

33-
The division of pull requests among project areas is based on the GitHub reviewer
34-
feature, rather than labels or assignment. This is because it automatically
35-
works with the code owners feature, and also makes it possible for each team to
36-
decide if they want individual assignment of pull requests through the GitHub
37-
team settings.
38-
39-
To aid in the pull request review process there is a
40-
[Pull Request Reviews](https://github.com/orgs/backstage/projects/2) GitHub
41-
project, where all incoming pull requests are automatically added. The "All" tab
42-
shows all pull requests, while "For Me" shows only the ones that you have been
43-
requested to review. The rest of the tabs show pull requests for each individual
44-
project area.
45-
46-
Note that the project area tabs will not show pull requests that have been
47-
assigned to an individual maintainer, they will instead show up in their "For
48-
Me" tab.
49-
50-
### Pull Request Reviews
51-
52-
When reviewing pull requests you should always use the "request changes" option
53-
if you are leaving a review where you would not like the pull request to be
54-
merged as is. This is both to clarify to the author that the pull request is not
55-
ready to be merged, but also to update the status of the pull request in the
56-
pull request review board, more on that below. If you simply want to contribute
57-
to the discussion in a pull request you can just leave a regular comment.
58-
59-
Even though a pull request may only change code owned by a single project area,
60-
it may indirectly affect other project areas or the project as a whole. If this
61-
is the case, reviews should be requested from the additional maintainer teams,
62-
and labels can be added for extra visibility. These are a few example where this
63-
would be applicable:
64-
65-
1. A pull request adds a new way of using capabilities provided by a different
66-
area, for example if the TechDocs plugin started utilizing the scaffolder
67-
APIs in a novel way that is not already established or documented.
68-
1. A pull request introduces new platform level technologies such as new code
69-
generation tools. In this case the core maintainers should be requested for
70-
review.
71-
72-
### Merging Pull Requests
73-
74-
External contributions are merged by the owner of the modified code once the
75-
pull request has been approved and all critical status checks have passed. If
76-
there are multiple owners and it is not obvious that the pull request belongs to
77-
any particular area, then any owner may merge the pull requests as soon as it
78-
has been approved by all owners.
79-
80-
Pull requests that are made by a project area maintainer within the same area
81-
are generally merged by the pull request author, although it is up to the
82-
maintainers of the area to decide if they want to use a different process.
83-
84-
The core maintainers are able to and may occasionally merge pull requests
85-
without approval from all code owners. This is to be avoided, but might
86-
sometimes be necessary for emergency fixes. It is also done for the "Version
87-
Packages" pull requests that are part of our automated release process. This
88-
means that project area maintainers do not need to approve these pull requests
89-
every week.
33+
Project area maintainers in the main Backstage repository are responsible for reviewing pull requests towards their area, as outlined in [REVIEWING.md](https://github.com/backstage/backstage/blob/master/REVIEWING.md).
34+
35+
Project area maintainers in other repositories are responsible for defining their own ways of working for pull request reviews.
9036

9137
### Release Process
9238

project-areas/core/README.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,4 @@ This meeting is not currently open to external participation.
1717

1818
### Pull Request Reviews
1919

20-
The core maintainers use the
21-
[randomized pull request assignment](../Maintainer-Guidance.md#randomized-pull-request-assignment)
22-
pull request review strategy. All incoming pull requests are distributed
23-
randomly and evenly among the maintainers.
20+
Core maintainers coordinate pull request reviews using the process outlined in [REVIEWING.md](https://github.com/backstage/backstage/blob/master/REVIEWING.md). They should focus on high priority pull requests in the global review board, especially those without clear ownership.

0 commit comments

Comments
 (0)