-
Notifications
You must be signed in to change notification settings - Fork 72
Processing pull requests
markstory edited this page Jan 21, 2013
·
4 revisions
This page is a brain dump of how a pull request should be processed and errors aggregated:
- Web process receives hook.
- Background job is queued for the repository + user + pull request number.
- Status code is returned based on job queue success.
-
.lintrc
file is downloaded for the queued repo.- If there is no
.lintrc
file an error is logged and job is completed as a failure.
- If there is no
-
.lintrc
file is parsed into a ReviewConfig object. - Using the user, repo & pull request number the changed files are fetched from github.
- The patch keys for each changed file are processed. A tuple of line,file is used as an index for
- The configured tools are run on each file. Tools specify which extensions they can handle, so only tools matching each file's extension are run for a given file.