Code Monkey home page Code Monkey logo

Comments (9)

wbsmolen avatar wbsmolen commented on June 3, 2024 1

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.

Matticusau avatar Matticusau commented on June 3, 2024 1

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.

Matticusau avatar Matticusau commented on June 3, 2024

@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.

Matticusau avatar Matticusau commented on June 3, 2024

Thanks, great idea on the failing check too.

from pr-helper.

wbsmolen avatar wbsmolen commented on June 3, 2024

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.

Matticusau avatar Matticusau commented on June 3, 2024

The reviewer functionality can be leveraged by either/both:

  1. 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.
  2. 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:

  1. 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.
  2. 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.

Matticusau avatar Matticusau commented on June 3, 2024

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.

Matticusau avatar Matticusau commented on June 3, 2024

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.

Matticusau avatar Matticusau commented on June 3, 2024

Initial support for this is released. Please open new bugs/features and reference this issue where relevant

from pr-helper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.