GitHub: PR dependencies

Allows marking a PR as dependent on another PR, so one must be merged before the other can be
Readme:

Adds a build status to pull requests warning not to merge until the dependencies have been met.

To add a dependency, simply add a comment with the content: Depends: #123 or Requires: #123 (whichever you prefer) as the very first statement.

TODO

This works as-is, but there's plenty that could be done to enhance it, so if you need any of the below features (or something else!) hit me up on Twitter: @Benjie.

  • Prevent a PR depending on itself
  • Add a setting to only allow contributors to set dependencies
  • Allow setting dependencies via the issue description (i.e. not just via comments)
  • Allow setting multiple dependencies in the same comment
  • Allow removing dependencies previously added (syntax? !Requires: #123? Doesn't require: #123? Ignores: #123? Clear requires!?)
  • Consider changing the target branch whilst the dependency is unmerged to simplify the diff