Giter Site home page Giter Site logo

eslint-github-bot's Introduction

Build Status

ESLint GitHub bot

eslint-github-bot is a bot created with probot which automates some common tasks for repositories run by the ESLint team.

The bot can perform the following tasks:

  • Triage - adds the "triage" label to newly-created issues which don't have labels.
  • Commit message check - adds a status check to pull requests to verify that they follow ESLint's pull request guidelines
  • Needs info - adds a comment to issues requesting more information when a maintainer adds the needs info label.
  • Release/TSC meeting issues - creates a new issue with the release/tsc meeting label scheduled two weeks later, after another release/TSC meeting issue is closed.
  • Release monitor - searches the repository for an issue with the release and patch release pending labels, indicating that a patch release might soon be created from master. If an issue is found, adds a pending status check to all PRs that would require a semver-minor release, to prevent anyone from accidentally merging them.
  • Issue Archiver - Locks and adds a label to issues which have been closed for a while
  • Issue Closer - Closes and adds a label to issues which have been inactive for a while
  • WIP Tracking - adds pending status check for PRs with WIP in the title or with "do not merge" label, and marks the status check as successful once the WIP indicators are removed.
  • PR ready to merge (experimental) - adds a label to all PRs which are "ready to merge", defined by the following criteria:
    • At least one review is approved.
    • Build status is success.
  • Check unit tests (experimental) - makes sure a PR contains unit tests. This check will be ignored for PRs with Build|Chore|Docs|Upgrade in the commit message.
  • Duplicate comments (inactive) - removes all the duplicates comments by this bot and leaves the last one of each type.

๐Ÿ”ง Setup

  • Clone this repo.
  • npm install
  • Start the app
    • npm start to start it as a GitHub APP

ENV variables required:

  • PORT: Port for web server (optional, defaults to 8000).
  • SECRET: Secret setup for GitHub webhook or you generated when you created the app.
  • PRIVATE_KEY: the contents of the private key you downloaded after creating the app.
  • APP_ID: The numeric app ID

Adding plugins

To add a plugin:

  1. Create the plugin as a new file in src/plugins.
  2. Add the plugin to the list in src/plugins/index.js.
  3. Add the plugin to the list in src/app.js to enable it by default.

Deployment

The bot is deployed to a Dokku instance named github-bot.eslint.org and is installed as a GitHub Application at the organization level.

eslint-github-bot's People

Contributors

aladdin-add avatar amareshsm avatar anikethsaha avatar btmills avatar dependabot[bot] avatar gyandeeps avatar kaicataldo avatar mdjermanovic avatar mysticatea avatar not-an-aardvark avatar nzakas avatar platinumazure avatar snitin315 avatar yash-singh1 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.