Skip to content

symfony-tools/carsonbot

Repository files navigation

The Carson Issue Butler

CI

Carson is a bot that currently runs on the symfony/symfony repository. Its job is to help automate different issue and pull request workflows.

For an introduction, read: http://symfony.com/blog/calling-for-issue-triagers-a-new-workflow-and-the-carson-butler

Currently, Carson's super powers are used to automatically label issues based on comments from people in the community. This gives anyone the power to review an issue or pull request and comment to update its status.

For details on how this review / label process works, see http://symfony.com/doc/current/contributing/community/reviews.html

Feature scope

Carson is excellent to look at issues and pull requests to make sure they are correctly labeled, uses a supported branch or to say hi to new contributors. Carson also likes cloning a repository and run checks on it time to time, ie making sure all translations are up to date.

Carson will never read the contents of a pull requests, ie it never parses the code to check for typos or other automated fixes.

Features

Here is all the things Carson can help you with. Not all features are enabled. A list of enabled features for a specific repository is defined in config/services.yaml.

Automatic labeling from content

Using the issue template, Carson adds labels "Bug", "Feature", "BC Break" and "Deprecation" on issues and pull requests.

Add "Needs Review" label on pull requests

When a PR is opened, then Carson will add "Needs Review".

Add "Needs Review" label on bugs issues

If an issue is labeled with "Bug", then Carson will add "Needs Review".

Update pull request title with component labels

When a PR is labeled, Carson looks for component labels (i.e. labels with color #dddddd). These labels' names will be added to the PR title (e.g. [HttpKernel]).

Close draft pull requests

When a PR is open as "draft", Carson adds a comment to encourage people to mark it as "ready to review". If no action is taken, Carson will close the PR in one hour.

Add milestone to PRs

When a new PR is opened and it does not target the default branch or current version, then Carson will update the milestone of the PR to a existing milestone that matches the target branch.

Manage pull request status

The "status" of a pull request defined by one of the labels: "Needs review", "Needs work", "Works for me" and "Reviewed". The status can be changed by adding a comment like: "Status: needs work".

The status will also be changed if someone adds a review that requests changes or approves the PR. Finally, the status will be "Needs review" after the author pushes changes to the PR.

Welcome new contributors

When a user opens their first PR, they will get a welcome message explaining the review process and how to increase the chances to get the PR merged.

Comment on stale issues

Carson will look for old inactive issues and start a process with them.

  1. Bot will make a comment to encourage activity and add label "Stalled".
  2. Bot will make a comment to inform the issue will be closed
  3. Bot will close the issue.

The process can be interrupted with anyone making a comment on the issue or the "Keep open" label is added.

Add a warning if pull request target unsupported branch

If a PR is opened towards a branch that is not maintained anymore, Carson will kindly explain to the author what to do.

Add a warning if pull request description mismatch the targeted branch.

If a PR is opened towards a branch but the description does not match, Carson will post a nice comment to explain to the author what to do.

Open issues when docs for config reference is incomplete

The Symfony documentation includes some pages with "configuration reference", to make sure these are always up to date, Carson will look at the bundles' defined config and compare that to what is documented. If Carson finds something that is missing, it will open an issue in the symfony/symfony-docs repository.

About

Issue Bot used on symfony/symfony

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages