-
Notifications
You must be signed in to change notification settings - Fork 71
Home
Apurv Bajaj edited this page Jul 5, 2018
·
7 revisions
Oppiabot is a GitHub app built with probot. It acts as a helper for the Oppia code repository to maintain the development workflow. It is hosted on Heroku.
Here is the full list of what Oppiabot does:
-
Detects merge conflicts and emails contributors accordingly
- Trigger: A change is merged to develop.
-
Action: Checks all open pull requests for merge conflicts. If there exists any pull request which has a merge conflict, the bot puts up a "PR: don't merge - HAS MERGE CONFLICTS" label and pings the pull request thread by the following message:
"Hi @{PR-Author}. The latest commit in this PR has resulted in a merge conflict. Please follow this link if you need help to resolve the conflict. Thanks!"
If the author resolves the conflict before the next run of the merge conflict check, the bot automatically removes the merge conflict label.
-
Detects whether a contributor has signed the CLA
- Trigger: A pull request is opened.
-
Action: Checks whether the author of the pull request has signed the CLA. If the author has not signed it, the bot puts up "PR: don't merge - NEEDS CLA" and pings the pull request thread by the following message:
"Hi! @{PR-Author}. Welcome to Oppia! Please could you follow the instructions here to get started ? You'll need to do this before we can accept your PR. Thanks!"
Once the author signs the CLA and pings the pull request thread with any comment, the bot rechecks whether the author has now signed the CLA. If the author has signed it, the bot automatically removes the label from the pull request.
-
Detects whether a pull request is stale
- Trigger: This check is scheduled to run once in an hour.
-
Action: Checks whether an open pull request has become stale. A pull request is considered stale if it has not been updated for 7 days. Any change to a pull request is considered an update, including comments, changing labels, applying or removing milestones, or pushing commits.
If the bot finds any open stale pull request following the above criteria, it puts up a "stale" label and pings the pull request thread with the following:
"This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Please let us know if you are currently working on this PR or have any issues. Thank you for your contributions."
As soon as the pull request is updated, the bot automatically removes the "stale" label.
If the pull request is not updated within 7 days of it being marked as stale, the bot automatically closes it.
Please go through the sidebar for links to other wiki pages.