Giter Club home page Giter Club logo

carsonbot's Introduction

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.

carsonbot's People

Contributors

weaverryan avatar nyholm avatar heahdude avatar wouterj avatar xabbuh avatar javiereguiluz avatar ionbazan avatar tucksaun avatar yceruto avatar stof avatar webmozart avatar alamirault avatar guilhemn avatar ogizanagi avatar nicolas-grekas avatar derrabus avatar localheinz avatar fabpot avatar johnnypeck avatar koc avatar chalasr avatar sstok avatar fancyweb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.