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
dev-cmd/contributions: Count PR reviews since they're super important #14813
Conversation
- The search APIs don't have that high a rate limit but we shouldn't need to worry about that too much because, to get counts, the JSON response comes with a `total_count` number.
Review period will end on 2023-02-28 at 00:00:00 UTC. |
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.
Thanks, @issyl0!
Test failure: ``` Failure/Error: expect(described_class.search_taps("some-formula")) .to match(formulae: ["homebrew/foo/some-formula"], casks: ["homebrew/bar/some-cask"]) GitHub::API asked to yield |[{"items"=>[{"path"=>"Formula/some-formula.rb", "repository"=>{"full_name"=>"Homebrew/homebrew-foo"}}, {"path"=>"Casks/some-cask.rb", "repository"=>{"full_name"=>"Homebrew/homebrew-bar"}}]}]| but no block was passed ```
2b4a1bb
to
99d2bb9
Compare
Review period skipped due to |
@@ -173,6 +175,7 @@ def scan_repositories(repos, person, args) | |||
commits: GitHub.repo_commit_count_for_user(repo_full_name, person, args), | |||
coauthorships: git_log_trailers_cmd(T.must(repo_path), person, "Co-authored-by", args), | |||
signoffs: git_log_trailers_cmd(T.must(repo_path), person, "Signed-off-by", args), | |||
reviews: GitHub.count_issues("", is: "pr", repo: repo_full_name, reviewed_by: person), |
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.
Definitely wouldn't have been blocking: is there any way to query the specific type of reviews?
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 query like is:pr reviewed-by:#{user} review:approved
works to get approvals by the user, but we can't combine review:approved
and review:changes_requested
. So I thought that just reviewed-by:#{user}
was safest to encompass everything.
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.
@issyl0 I'd consider filtering this to just review:approved
as it'll get fewer results, requires write access (i.e. "maintainer duties") and is required to move things forward. Thoughts?
- The `reviewed-by` filter retrieved all reviews for a user, including those they'd added to their own PRs. Since it's impossible to click the "approve" button on one's own PR, filter this to `review:approved` to get "further project goals" kinds of reviews. - Suggested in Homebrew#14813 (comment). - Shorten a variable name so I didn't have to split the `count_issues` call onto multiple lines since the indentation looked funky when I tried it.
- The `reviewed-by` filter retrieved all reviews for a user, including those they'd added to their own PRs. Since it's impossible to click the "approve" button on one's own PR, filter this to `review:approved` to get "further project goals" kinds of reviews. - Suggested in Homebrew#14813 (comment).
- The `reviewed-by` filter retrieved all reviews for a user, including those they'd added to their own PRs. Since it's impossible to click the "approve" button on one's own PR, filter this to `review:approved` to get "further project goals" kinds of reviews. - Suggested in Homebrew#14813 (comment).
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?brew contributions
. #13642.total_count
number.