Pull Request Size
Pull Request Size is a GitHub App that applies size/* labels to Pull Requests based on the total lines of code changed (additions and deletions).
Install
If you'd like to host it yourself, see the Github docs on how to create a GitHub application.
If hosting yourself, you'll need the app to request these permissions:
Repository Permisions: metadata:read-only, pull-request:read-write, single-file:read (.gitattributes, .github/labels.yml)
Subscribe to events: Pull Requests
Sizing
| Name | Description |
|---|---|
size/XS |
Denotes a PR that changes 0-9 lines. |
size/S |
Denotes a PR that changes 10-29 lines. |
size/M |
Denotes a PR that changes 30-99 lines. |
size/L |
Denotes a PR that changes 100-499 lines. |
size/XL |
Denotes a PR that changes 500-999 lines. |
size/XXL |
Denotes a PR that changes 1000+ lines. |
Pull Request Size calculates the size of a PR as
total additions + total deletions - (all generated¹ file additions/deletions)
¹ A generated file is either one of the standard generated files as defined in noqcks/generated or defined with linguist-generated=true in a .gitattributes file.
Excluding Files
If you have files that you would not like to be included in the calculation for a Pull Request's size, you can modify the .gitattributes file with the flag linguist-generated=true on your file or file pattern.
For example to mark all .meta files as generated, add this line to .gitattributes
*.meta linguist-generated=true
A .gitattributes file uses the same rules for matching as .gitignore files. See GitHub documenation on the linguist-generated flag for more info.
Custom Labels
You can set custom label names and colors by checking in the file .github/labels.yml to every repository you'd like to customize
XS:
name: size/XS
lines: 0
color: 3CBF00
S:
name: size/S
lines: 10
color: 5D9801
M:
name: size/M
lines: 30
color: 7F7203
L:
name: size/L
lines: 100
color: A14C05
XL:
name: size/XL
lines: 500
color: C32607
XXL:
name: size/XXL
lines: 1000
color: E50009
Setup
This GitHub app runs on probot. It makes it very easy to create new GitHub apps. If you want to run or develop pull-request-size just follow the commands below. hit localhost:3000, and follow the probot instructions.
# Install dependencies
npm install
# Run the bot
npm startLicense
MIT © 2021 Benji Visser [email protected]

