Comments (9)
I like the Jekyll Authors implementation.
If a PR comes in with an owner:
value that isn't found in in authors.yml
, it should also create a failing check.
from pr-helper.
Let's settle on this syntax for Authors file:
# Author details.
Author Name:
name: Author Name
email: [email protected]
web: http://twitter.com/account
github: githubusername
from pr-helper.
@wbsmolen have a read of this and let me know if you think this solution would work for the problem we were discussing.
from pr-helper.
Thanks, great idea on the failing check too.
from pr-helper.
Is this bot mutually exclusive with the built-in codeowners functionality? Leveraging codeowners to assign review to a github team could be useful.
E.g.: Take Arc for servers' content in the DHT repo. The page owner would likely be Islam Gomaa, but ideally the entire vteam is assigned to a PR opened against its content.
The branch protection is still requiring only a single reviewer, but this would include more folks in the content review process. Plus, if Islam (sticking to my eg) is out of office, PRs against his content are not blocked.
You could implement this front matter parsing feature to allow for multiple authors, but a) that sounds complicated and b) having the github teams/groups capability would be beneficial.
from pr-helper.
The reviewer functionality can be leveraged by either/both:
- Parsing the front-matter where a comma delimited list of owners will be set as the reviewers. The current implementation should work with teams but I haven't tested that. The future state that this issue proposes should still allow for that too in the author file in theory.
- If you have a CODEOWNERS file, then this will be handled natively by GitHub, and can be used in addition to the front-matter parsing. This natively supports both individuals and teams.
Regardless of which method assigns the reviewers, the Bot/Action can be configured with either:
- Set
prmerge-requirereviewcount = -1
will disable the minimum review count and instead require that there are no pending reviewers on the PR. Once all reviewers have approved it would proceed with the merge. - Set
prmerge-requirereviewcount = X
will require that a minimum of X reviews are approved before auto merge will run. There may still be other reviewers requested. This is similar to the minimum reviewer functionality in GitHub Branch Protection. Unfortunately I am still looking for a way to pull that setting via the API. The value of X should match your Branch Protection Rules.
So I believe the scenario you describe is catered for with this configuration regardless of which method you use to assign reviewers. Actually using a combination of both could be beneficial as it would increase awareness of content changes to a larger group and allow backup coverage.
from pr-helper.
Progress update - 2020-07-26
Initial dev work done on reading Author file and retrieving GitHub user. Implementation into work flow still required.
TODO: Look at leveraging artifacts to avoid API call to file contents https://developer.github.com/v3/actions/artifacts/
from pr-helper.
Progress update - 2020-07-26 - Feature Preview testing
Preview feature testing will be completed in the Dev breach tomorrow. This initial release will perform an API call against the repo to get file contents. Am looking into using Action/Checkout on default branch and the Artifacts to reduce the chance of rate limiting on some membership levels.
from pr-helper.
Initial support for this is released. Please open new bugs/features and reference this issue where relevant
from pr-helper.
Related Issues (20)
- Multiple comment automation welcome messages HOT 1
- Assign reviewers from YAML front matter (e.g. jekyll) HOT 3
- Action not running on PRs from Forked repos HOT 2
- Add/Remove label on Stale PRs HOT 1
- Auto merge blocked when multiple CODEOWNERS requires higher number of reviewers HOT 4
- Auto merge not requiring qualify for auto merge label HOT 1
- Error when FrontMatter reviewer is enabled but file has no frontmatter
- Frontmatter reviewer does not filter/skip attempting to assign the same user as PR owner which results in error HOT 1
- Error when creating a new file - Not Found HOT 1
- Renaming a file results in `Not Found` error HOT 2
- Auto merge should complete without review when using frontmatter reviewer assignment and content owner only modifies their content HOT 1
- Commenting on an Issue is resulting in a 'Not Found' error HOT 1
- Adding labels always results in an API Post event HOT 1
- When FrontMatter author is enabled but no author is found it should block auto merge HOT 2
- Support for workflow run trigger HOT 1
- How to enable auto-merge ?
- PR Helper fails when attempting to assign reviewer who is not a collaborator on Repo HOT 1
- Deleting source branches results in errors
- Add ```pull_request_target```
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pr-helper.