metamask-extension icon indicating copy to clipboard operation
metamask-extension copied to clipboard

docs: edit reviewer checklist

Open mikesposito opened this issue 1 year ago • 9 comments

Description

Each PR includes the "Pre-merge reviewer checklist", but it almost never gets used by reviewers. Also, it carries some intrinsic problems:

  • The template doesn't support multiple reviewers explicitly
  • Checkmarks left by a reviewer tend to become stale when the author pushes new commits, which would give a false indication since the reviewer would have to go through another review cycle. This is probably worse than leaving the checklist unchecked
  • The PR author implicitly loses ownership of the main PR comment, since reviewers are supposed to edit it

With this PR I would like to propose an alternative solution, with reviewers including the Pre-merge reviewer checklist in the review feedback comment (See example). This would have these advantages:

  • Multiple reviewers supported out of the box, because each reviewer writes its own checklist
  • Gives the opportunity to reviewers to leave multiple feedbacks along the review cycle, with potentially different test outcomes: this makes even more sense if the checklist should also detail what exactly has been tested
  • It makes easy to see the last commit tested by the reviewer and infer whether the checklist may still be valid after additional commits
  • It leaves the ownership of the main PR comment to the author
  • If a reviewer includes a checklist, chances are that other reviewers will do that as well

I believe this should translate in an additional explicit instruction in the PR template, but I'm not sure how to phrase it. I'd love to hear your thoughts!

Open in GitHub Codespaces

Related issues

N/A

Manual testing steps

N/A

Screenshots/Recordings

N/A

Pre-merge author checklist

Pre-merge reviewer checklist

  • [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

mikesposito avatar Sep 17 '24 13:09 mikesposito

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 70.01%. Comparing base (56c23fc) to head (f77774c). :warning: Report is 4616 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #27217   +/-   ##
=======================================
  Coverage   70.01%   70.01%           
=======================================
  Files        1445     1445           
  Lines       50201    50201           
  Branches    14045    14045           
=======================================
  Hits        35147    35147           
  Misses      15054    15054           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Sep 17 '24 14:09 codecov[bot]

Builds ready [f77774c]
Page Load Metrics (2008 ± 133 ms)
PlatformPageMetricMin (ms)Max (ms)Average (ms)StandardDeviation (ms)MarginOfError (ms)
ChromeHomefirstPaint30326401937464223
domContentLoaded166226251978280135
load168426352008278133
domInteractive18108462411
Bundle size diffs
  • background: 0 Bytes (0.00%)
  • ui: 0 Bytes (0.00%)
  • common: 0 Bytes (0.00%)

metamaskbot avatar Sep 17 '24 14:09 metamaskbot

I really like your point on this specific template part. Could not agree more on your analysis.

I see one way to enforce what you suggest: actions or an app that checks approval comment and errors if the template is not used. But that's a bit radical to me. A softer way, that would require that we unify our practices over all repos, would be to suggest to have "saved replies" (see the arrow in comment menu): image We could have what you suggest in this PR and remind users to add this reply to their saved replies so it's easier to add in the comment than copy/paste.

NicolasMassart avatar Sep 17 '24 14:09 NicolasMassart

This PR has been automatically marked as stale because it has not had recent activity in the last 60 days. It will be closed in 14 days. Thank you for your contributions.

github-actions[bot] avatar Nov 22 '24 16:11 github-actions[bot]

No one interested in this? I think it's a good idea that could also be used in mobile repo.

NicolasMassart avatar Nov 27 '24 14:11 NicolasMassart

As a suggestion on how we could improve this:

One problem that I've noticed in our repos is that when people merge a PR, they tend not to update the commit message, they just press the green button. This makes commit messages fairly unreadable on the command line, as by default we instruct GitHub to copy the entire PR description to the commit message. So what you end up with is a very high level of noise in the commit history.

I do not think we are ever going to get people to remember to update the commit message, however, I think we can simplify the PR description to reduce some of the noise.

What if instead of asking people to copy and paste a checklist, we add a GitHub workflow which automatically creates a comment including the checklist when the PR is created? The author can then check it off in a similar fashion.

mcmire avatar Dec 03 '24 18:12 mcmire

One problem that I've noticed in our repos is that when people merge a PR, they tend not to update the commit message, they just press the green button.

Before we turned on the Merge Queue, it was true that people "tended not to update the commit message." Now that we have the Merge Queue, it is actually impossible to update the commit message when merging.

HowardBraham avatar Feb 17 '25 04:02 HowardBraham

This PR has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions.

github-actions[bot] avatar Jun 07 '25 00:06 github-actions[bot]

This PR has been automatically marked as stale because it has not had recent activity in the last 90 days. It will be closed in 7 days. Thank you for your contributions.

github-actions[bot] avatar Sep 12 '25 00:09 github-actions[bot]

This PR was closed because there has been no follow up activity in 7 days. Thank you for your contributions.

github-actions[bot] avatar Sep 20 '25 00:09 github-actions[bot]