Sign inSign up

knisterpeter/rezensent

By knisterpeter

•Updated about 5 years ago

Images for the rezensent app

Image
0

10K+

knisterpeter/rezensent repository overview

⁠rezensent

The rezensent (german for reviewer) is a github app which help managing big pull requests in a repository divided by code ownership rules.

⁠Idea

Split a pull request into several smaller ones along the lines of ownership. Then maintain the spitted pull requests using the app.

It is loosely based on the idea of googles rosie⁠

With Rosie, developers create a large patch, either through a find-and-replace operation across the entire repository or through more complex refactoring tools. Rosie then takes care of splitting the large patch into smaller patches, testing them independently, sending them out for code review, and committing them automatically once they pass tests and a code review. Rosie splits patches along project directory lines, relying on the code-ownership hierarchy described earlier to send patches to the appropriate reviewers

⁠How it works

⁠Terminology
termexplanation
managed pull requestA pull request labeled with the 'manage label'
review pull requestA pull request created by the app per team
codeownersCODEOWNERS⁠
⁠Steps
  • Whenever a pull request is labeled with the configured 'manage label', the app will create a pull request with just the changes for each team.

  • Then each team can review their changes separated from the other teams and when the pull request is approved it can be merged.

  • As soon as the app detects a merge, the managed pull request is updated to the HEAD of it's base branch. And all remaining team pull requests are update/recreated.

  • When there are no changes left, the managed pull request is closed as all changes are integrated into it's base branch.

⁠Process description

process

⁠Usage

⁠Public App

The app is publicly available for free at https://github.com/apps/rezensent⁠.

You can just add it to your github repository and complete the onboarding process.

⁠Docker

The app could be hosted using the provided docker image⁠.

The container need to be configured by the following environment variables:

namedescriptionrequireddefault
APP_IDThe GitHub app idyes
PRIVATE_KEYThe private key obtained from githubyes
WEBHOOK_SECRETThe webhook secret set during app creationyes
PORTThe port of the app inside the containerno3000
SCHEDULE_DELAYThe initial scheduler delay before first runno0
SCHEDULE_TIMEOUTThe delay between scheduler runsno1800000

Tag summary

Content type

Image

Digest

Size

88.3 MB

Last updated

about 5 years ago

docker pull knisterpeter/rezensent