built with probot framework
A Github App that helps managing pull request dependencies. That App works similar to typical CI services ( e.g Travis) but instead of running a test suite, It will check whether a pull request dependencies are resolved.
A dependency can be either an issue or another pull request. A dependency is considered resolved if its state has changed to closed
.
- Browse to GitHub Apps - DEP
- Accept the permissions
- Allow access to repositories
If you want to update a pull request dependencies write e.g:
On the pull request, a status check from DEP
will appear e.g:
For best results, enable branch protection (in the repository's settings) and require the DEP
status check to pass before merging:
We've deprecated the `/depends` and `/ensure` commands in favor of the new single inline command: `depend` (no slash). The new command works similar to how you may [close issues using keywords][ref] on GitHub but only in pull request description.
The following keywords followed by an issue number, will mark that issue as dependency:
- depend on
- depends on
- depended on
Examples
You may write the end of PR description:
Depends on #β1
or it can be anywhere:
This pull request depends on #β1 which does bla bla bla. Oh, and it depends on #β2 too.
All dependencies added using the old commands should have already been converted to the new syntax for you (hopefully), but in case that didn't happen, you need to modify the description to include your dependencies by yourself. The old commands will just write a deprecation notice.
- Setup the repo:
git clone https://github.com/z0al/dep.git
cd dep
npm install
- Create your own GitHub app
- Store the private key as
private-key.pem
somewhere safe, and point to its location in.env
- Start the app with
APP_ID=1234 npm start
where1234
is your GitHub app's ID - Update your GitHub app's Webhook URL to your localtunnel.me URL
Thanks goes to these wonderful people (emoji key):
Ahmed T. Ali π π» π |
Jason Etcovitch π¬ π€ |
Ryan Hiebert π π€ |
Rohit Sarkar π» |
Harrison Heck π» |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
See docs/deploy.md for more info.
- commitlint-bot: A GitHub App that runs commitlint for you!
- Review Me: A GitHub App that helps you to decide when a pull request is ready for review based on its statuses.
The Logo is designed by Freepik. Modified by Ahmed T. Ali.
Special thanks to Jason Etcovitch for their help, including the original bot idea.
MIT Β© Ahmed T. Ali
Archa has made a number changes to fit this tool into our build process, these changes include:
- Renaming the tool ('Dep' -> 'Archa Github Checks')
- Label casing ('dependent' -> 'Dependent')
- Removing the
Dependent
label once the dependencies are merged - Adding in behaviours from https://github.com/ryanhiebert/probot-chain
If GitHub ever add native 'Depends on' support (isaacs/github#959) then we should depricate this check
Note: Here is a nice write-up the original creator did on creating his bot https://ahmed.sd/posts/lets-build-a-github-pro-bot/