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 via GitHub marketplace 🌟
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
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.
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.
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
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 start
MIT © 2021 Benji Visser [email protected]