-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Reviewer & Contributor guides for docs #704
Conversation
Create a Ticket | ||
--------------- | ||
|
||
1. **Select a Help Wanted ticket** - Please select a `HELP WANTED ticket <https://github.com/mattermost/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22Help+Wanted%22>`_ that you'd like address with your contribution, or create a new ticket to discuss an improvement you'd like to make and wait for a project Member to approve and add the `Help Wanted` label so the change will be accepted. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"you'd like address" is incorrect.
"project Member" seems weird.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed: 311bc77
|
||
If your update is small and an obvious improvement, you can skip this step and submit a PR directly. | ||
|
||
2. **Become an Approved Contributor** - Please complete the `contributor license agreement <https://www.mattermost.org/mattermost-contributor-agreement/>`_ (a.k.a. "CLA"). This is a standard form for most open source projects and it adds your the approved contributor's list for the Mattermost open source project. There are answers to frequently asked questions in the link above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"approved contributor's list" is incorrect. It should be "contributors"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed: 311bc77
|
||
2. **Become an Approved Contributor** - Please complete the `contributor license agreement <https://www.mattermost.org/mattermost-contributor-agreement/>`_ (a.k.a. "CLA"). This is a standard form for most open source projects and it adds your the approved contributor's list for the Mattermost open source project. There are answers to frequently asked questions in the link above. | ||
|
||
3. **Create your Pull Request** - Please create a pull request for the documentation change you would like to make. Make sure to review and follow the `Style Guide <https://docs.mattermost.com/process/sg_mattermost-doc-style.html>`_. Please include a link to the Help Wanted ticket if you have one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should update the style guide URL before linking to it elsewhere, I think "sg" is confusing/"not obvious".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added XXX
|
||
3. **Create your Pull Request** - Please create a pull request for the documentation change you would like to make. Make sure to review and follow the `Style Guide <https://docs.mattermost.com/process/sg_mattermost-doc-style.html>`_. Please include a link to the Help Wanted ticket if you have one. | ||
|
||
4. **(Optional) Meet the Documentation Community** - You can join the Mattermost Documentation channel on the community server and introduce yourself to other contributors and project members. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the link to the server not included here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed: 311bc77
|
||
1. **New PR submitted** - Each PR created sends a notification to the `Documentation Channel <https://pre-release.mattermost.com/core/channels/documentation>`_ on the Mattermost contributors server, alerting reviewers. | ||
|
||
2. **Triage** - Project Member assigned to triage reviews doc repo within 1-2 working days and applies labels appropriate "approval required" labels. Use **Saved Reply** template linked to this page to let submitter know what to expect. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"applies labels appropriate "approval required" labels" is incorrect.
Also the "approval required" labels is not very clear, we should link to somewhere explaining the labels.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed: 311bc77
Will add link later XXX
|
||
- Please read `Contributor's Guide for docs.mattermost.com XXXXXX <XXXX>`_ for the process by which Approved Contributors submit PRs and engage with reviewers. | ||
|
||
Review Labels |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really sure I agree with the labeling concept, it seems very confusing for people external to the team. But I guess you've considered that and still think it's important to do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also do we only need one review then?
And what about "Content review"/"Accuracy review", is that covered by the Style Guide review....? If so, Style Guide review seems like a weird name and a little limiting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also I'm a little confused by the "Post-Merge Editing Required" label, why would we merge something that still needs to be edited? In what cases would it be appropriate to use this?
What would a minor correction be? Do we want to be merging docs with spelling errors and fixing them afterwards?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I don't think the labels system is perfect, I think reviewers have different areas of expertise and levels of skill and aren't interchangeable. Some reviewers may be more technical, some have stronger grammar, and we need a system that delivers a process as the sum of our strengths.
I think we should review the system, implement it as a pilot and evaluate the pros and cons vs. other options.
I'm fine changing Style Guide to another name, as well as changing Needs ... Approval labels, etc. The goal is "sum of our strengths" in my mind.
Editing would be after a merge--or maybe they're able to edit in a staging environment of some kind. I think the role is traditional editor
|
||
- **Approved Contributor** - Anyone who's completed the CLA. This is the minimum role to submit a PR for review. | ||
- **Project Member** - Approved Contributor granted ability to apply labels. Often a staff member from Mattermost, Inc. | ||
- **Project Member Reviewer on call** - Member assigned to review PRs in certain approval categories. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is it "on call", are people assigned this role over time periods? It's not very clear.
PR Review Process for Reviewers | ||
--------------------------------------- | ||
|
||
The following process is used determine how reviewers on-call leave feedback on doc PRs submitted: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is it "on-call" here and "on call" above? If you're using it as an adjective, I think it would be "on-call reviewers"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed to "on rotation"
|
||
The following process is used determine how reviewers on-call leave feedback on doc PRs submitted: | ||
|
||
1. **Reviewers** - Reviewers on call should `browse open doc PRs <https://github.com/mattermost/docs/pulls>`_ at least once daily while on-call, and leave feedback, approve or merge any open PRs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you going for "while on-call" as an adjective? It's a little weird when you use it as a verb above.
|
||
1. **Reviewers** - Reviewers on call should `browse open doc PRs <https://github.com/mattermost/docs/pulls>`_ at least once daily while on-call, and leave feedback, approve or merge any open PRs. | ||
2. **Verifiers** - Verifier on call should `browse query of PRs needing verification XXX<linked_needed>`_ at least once daily while on-call and verify and acknowledge PRs as appropiate. If there's an issue, Verifier should message Reviewer to submit a PR to correct issues. | ||
3. **Editors** - Editor on call should `browse query of PRs needing editing XXX<XXX>`_ daily and submit a PR with appropriate edits. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will editors know what to edit? Does this need to be stated in the PR comments somehow? This should be made clearer.
|
||
The following labels are used to indicate the type of review required for each doc PR: | ||
|
||
- **Needs Style Guide Approval** - Review for `style guide requirements <https://docs.mattermost.com/process/sg_mattermost-doc-style.html>`_, and specifically: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to add "Needs accuracy approval" for checking functionality matches documentation
|
||
- **Needs Verification & Acknowledgement** - docs.mattermost.com needs to be verified and acknowledgement added to PR. | ||
|
||
- **Post-Merge Editing Required** - PR can be merged and someone will follow-up with edits for minor corrections. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to pre-merge edit, and clarify use case--add a clear comment of what is not matching style guide
Just curious... how does the "Edit on GitHub" link figure into the process for contributors? |
- **Level 4** - 95%+ track record of correct reviews or maintainer of doc repo. | ||
|
||
Extended periods of consistent performance are recognized by level increases. Repeated inconsistency reduces an reviwers level. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few questions about the levels:
- What's the difference between a "good review" in Level 2, and a "correct review" in Levels 3 and 4?
- Do you keep a record of reviewers and their ratings and their progress towards the next level? Is that record public?
- How does everyone know who has what level?
- Do higher ratings have greater responsibilities? Any perks? Special powers?
2. **Triage** - Project Member assigned to triage reviews doc repo within 1-2 working days and applies the `appropriate "Needs ... Approval" labels to indicate required approvals XXX <XXX>`_. Use **Saved Reply** template linked to this page to let submitter know what to expect. | ||
|
||
3. **Reviews** - Within 5-10 working days, for each `"Needs ... Approval" XXX <link to labels explaination>`_ label, reviewers on rotation either a) leave feedback or b) mark PR "Approved" and remove the appropriate label. The reviewer requiring changes adds "Awaiting Submitter Action" label if it is not yet applied. After submitter addresses feedback, the 5-10 working day clock restarts. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in practice, "5-10 working days" will end up being "10 working days", which seems kind of long.
- **Post-Merge Editing Required** - PR can be merged and someone will follow-up with edits for minor corrections. | ||
|
||
- **Awaiting Submitter Action** - Merge should not happen until feedback is addressed. Note: This label should be applied for any work-in-progress PR, a separate label is not needed. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the labels might be too granular. I think if you create roles such as Reviewer, Technical Reviewer, and Editor, the people with those roles should be responsible for making sure that, for example, the changes are tested or the Sphinx output is verified. And then the labels would be of a different nature... "Review Required", "Technical Review Required", "Copy Edit Required", and the like.
Closing this as this has been open with no activity for a while - it can always be re-opened if needed. |
High-level, I believe:
I hope there's a change to review and get people's feedback on this draft, and test it out on some real PRs, e.g.:
WIP: