Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README.md - github.com/twbs/rorschach.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0f7ed3f74fee662bc712ea476947a3ff0af53544 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Rorschach
=========
[![Build Status](https://travis-ci.org/twbs/rorschach.svg?branch=master)](https://travis-ci.org/twbs/rorschach)
![Development Status :: 5 - Production/Stable](https://img.shields.io/badge/maturity-stable-green.svg "Development Status :: 5 - Production/Stable")
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg "MIT License")](https://github.com/twbs/rorschach/blob/master/LICENSE.txt)

Rorschach ([@twbs-rorschach](https://github.com/twbs-rorschach)) is a [Bootstrap](https://github.com/twbs/bootstrap/) pull request sanity checker bot.

Rorschach watches for new or modified pull requests, runs sanity checks on them, and if a sanity check fails, it leaves an informative comment on the pull request explaining the mistake and how to fix it, and then closes the pull request.

Rorschach requires Java 8 or higher.

## Motivation

You're a member of a popular open source project that involves front-end Web technologies. Cool.

But due to the project's popularity, you will get some pull requests proposed by folks who don't read the contributing guidelines, folks who don't understand asset pipelines, or just plain newbies (hey, everybody's gotta start somewhere).

By automating the process of sanity-checking proposed pull requests:
* Feedback can be given to the pull requester *extremely* quickly, decreasing the turnaround time on fixing the pull request and decreasing friction for the requester.
* The requester can be referred to canonical write-ups explaining the common mistakes in detail, so that they have full context for understanding the reported mistakes.
* Issue triagers will have less work to deal with, and human error in failing to zealously check every single pull request for every common mistake is eliminated.

## Checks performed

* [Pull requests must never be against the `gh-pages` branch.](docs/against-gh-pages.md)
* [Pull requests must not attempt to merge the `gh-pages` branch into the `master` branch.](docs/gh-pages-into-master.md)
* [Pull requests must never edit `/dist/js/bootstrap.js` without also editing `/js/*.js`](docs/js.md).
* [Pull requests must never edit `/dist/css/bootstrap.css` without also editing `/scss/*.scss` or `/less/*.less`.](docs/css.md)
* [Pull requests must never modify the `CNAME` file.](docs/cname.md)
* Pull requests must not be used solely to test out Git or GitHub instead of proposing legitimate improvements.
  * [Pull requests must not have titles which strongly suggest this.](docs/title.md)
  * [Pull requests must not create new files with names which strongly suggest this (e.g. `new-file.txt`).](docs/newfile.md)

## GitHub webhook configuration

* Payload URL: `http://your-domain.example/rorschach`
* Content type: `application/json`
* Secret: Same as your `web-hook-secret-key` config value
* Which events would you like to trigger this webhook?: "Pull Request"

## License
Rorschach is released under the [MIT License](https://github.com/twbs/rorschach/blob/master/LICENSE.txt).

## Acknowledgments
We all stand on the shoulders of giants and get by with a little help from our friends. Rorschach is written in [Scala](http://www.scala-lang.org) and built on top of:
* [Akka](http://akka.io) & [Spray](http://spray.io), for async processing & HTTP
* [Eclipse EGit GitHub library](https://github.com/eclipse/egit-github), for working with [the GitHub API](https://developer.github.com/v3/)

## See also
* [LMVTFY](https://github.com/cvrebert/lmvtfy), Rorschach's sister bot who does HTML validation
* [Savage](https://github.com/twbs/savage), Rorschach's sister bot who runs cross-browser JS tests on Sauce Labs
* [NO CARRIER](https://github.com/twbs/no-carrier), Rorschach's sister bot who closes old abandoned issues