Skip to content

A Github App that helps managing PR dependencies πŸ“¦

License

Notifications You must be signed in to change notification settings

CTMobi/dep

Β 
Β 

Repository files navigation

DEP

Travis All Contributors Greenkeeper badge

bot logo

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.

Usage

  1. Browse to GitHub Apps - DEP
  2. Accept the permissions
  3. Allow access to repositories

Screenshots

If you want to update a pull request dependencies write e.g:

comment-screenshot

On the pull request, a status check from DEP will appear e.g:

status-check-screenshot

For best results, enable branch protection (in the repository's settings) and require the DEP status check to pass before merging:

branch-protection-screenshot

New syntax?

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.

Development

  1. Setup the repo:
git clone https://github.com/z0al/dep.git
cd dep
npm install
  1. Create your own GitHub app
  2. Store the private key as private-key.pem somewhere safe, and point to its location in .env
  3. Start the app with APP_ID=1234 npm start where 1234 is your GitHub app's ID
  4. Update your GitHub app's Webhook URL to your localtunnel.me URL

Contributors

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!

Deployment

See docs/deploy.md for more info.

You might also like

  • 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.

Credits

The Logo is designed by Freepik. Modified by Ahmed T. Ali.

Special thanks to Jason Etcovitch for their help, including the original bot idea.

License

MIT Β© Ahmed T. Ali

Archa Changes

Archa has made a number changes to fit this tool into our build process, these changes include:

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/

About

A Github App that helps managing PR dependencies πŸ“¦

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 90.8%
  • HTML 9.2%