Skip to content

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:

Incoming jobs

  • Web process receives hook.
  • Background job is queued for the repository + user + pull request number.
  • Status code is returned based on job queue success.

Processing jobs

  • .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.
  • .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.
Clone this wiki locally