Skip to content

Commit

Permalink
Improve labeling system - refactor labeling logic (armbian#5916)
Browse files Browse the repository at this point in the history
* Add label table
* Add PR size labelling
* Implement suggestings from meeting
* Add proper GitHub labeller
---------

Co-authored-by: Werner <EvilOlaf@users.noreply.github.com>
  • Loading branch information
igorpecovnik and EvilOlaf authored Nov 19, 2023
1 parent 8caf512 commit 70832ae
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 3 deletions.
9 changes: 6 additions & 3 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#
# Please keep the labels sorted and deduplicated.

"Hardware :gear:":
"Hardware":
- patch/u-boot/*
- patch/u-boot/**/*
- patch/atf/*
Expand All @@ -19,18 +19,21 @@
- patch/kernel/*
- patch/kernel/**/*
- patch/misc/*
- patch/crust/*
- config/kernel/*
- config/sources/*
- config/sources/**/*
- config/boards/*
- config/bootscripts/*
- config/bootenv/*

"Software :chains:":
"Software":
- lib/*
- tools/*
- config/cli/*
- packages/*
- extensions/*
- .github/workflows/*

"Desktop :desktop_computer:":
"Desktop":
- config/desktop/*
72 changes: 72 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
- name: "02"
color: "76B4D9"
description: "Milestone: Winter release"
- name: "05"
color: "AADB79"
description: "Milestone: Spring release"
- name: "08"
color: "4B649F"
description: "Milestone: Summer release"
- name: "11"
color: "D58125"
description: "Milestone: Autumn release"
- name: "Backlog"
color: "d4c5f9"
description: "Stalled work that needs to be completed"
- name: "Breaking change"
color: "f4bd13"
description: "Can potentially break core functionality"
- name: "Bug"
color: "F92C01"
description: "Something isn't working well"
- name: "Bugfix"
color: "F92C01"
description: "Pull request is fixing a bug"
- name: "Discussion"
color: "33B478"
description: "Issue is being discussed. Undetermined."
- name: "Duplicate"
color: "f4bd13"
description: "Issue is already present"
- name: "Not framework bug"
color: "CD456C"
description: "Bug in 3rd party component"
- name: "User error"
color: "CD456C"
description: "A mistake that is made by the user"
- name: "size/small"
color: "ededed"
description: "PR with less then 50 lines"
- name: "size/medium"
color: "ededed"
description: "PR with more then 50 and less then 250 lines"
- name: "size/large"
color: "ededed"
description: "PR with 250 lines or more"
- name: "Desktop"
color: "bfd4f2"
description: "Graphical user interface"
- name: "Hardware"
color: "bfd4f2"
description: "Hardware related - kernel, u-boot, patches"
- name: "Software"
color: "bfd4f2"
description: "Framework components"
- name: "Work in progress"
color: "29E414"
description: "Unfinished / work in progress"
- name: "Ready to merge"
color: "1d7136"
description: "Reviewed, tested and ready for merge"
- name: "Help needed"
color: "EA1BCE"
description: "We need your involvement"
- name: "Needs review"
color: "AEE054"
description: "Seeking for review"
- name: "Can be closed?"
color: "5319e7"
description: "Ping developers on stalled issues / PR"
- name: "Build"
color: "1d76db"
description: "Executing build train"
29 changes: 29 additions & 0 deletions .github/workflows/labels-from-yml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Set PR and issues labels from yaml

on:
push:
branches:
- 'main'
paths:
- '.github/labels.yml'
pull_request:
paths:
- '.github/labels.yml'

jobs:
labeler:
if: ${{ github.repository_owner == 'Armbian' }}
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v5
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
yaml-file: .github/labels.yml
dry-run: ${{ github.event_name == 'pull_request' }}
exclude: |
Maintenance*
21 changes: 21 additions & 0 deletions .github/workflows/pr-size-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Pull Request Labeling

on:
- pull_request

jobs:

size-label:
runs-on: ubuntu-latest
steps:
- name: size-label
uses: "pascalgn/size-label-action@v0.4.3"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
sizes: >
{
"0": "small",
"50": "medium",
"250": "large"
}
24 changes: 24 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,30 @@ Once you have decided to contribute to Armbian by working on an issue, check our

Please be sure to review the [Development Code Review Procedures and Guidelines](https://docs.armbian.com/Development-Code_Review_Procedures_and_Guidelines/) as well before you begin.

## PR and issues labeling

Labels are defined in [.github/labels.yml](.github/labels.yml) YAML file. They are automatically recreated upon change. Require at least `Triage` users permission on repository. [Request access](https://github.com/armbian/build#contact) if you cannot change labels!

Most of labels are self explanoritary but here are short instructions on how to use them:

Automated on PR:
- `size/small`, `size/medium`, `size/large` is determined automatically from the size of the PR
- `desktop`, `hardware` and `software` is determined automatically depending on location of the changes

Manual on PR:
- `02` `05` `08` `11` milestone - determine into which release the PR should go
- `work in progress` - when you are still working on
- `needs review` - when you are done and seeking for attention
- `ready to merge` - when you are done
- `help needed` - when you are desperate and cannot move on

Labeling Issues:
- `bug` when it is clear that it is our bug, `not our bug` if its clearly not ours, `duplicate` if issue already exists
- `discussion`, when needed, `user error` when we know it is a problem on the other side
- `can be closed` for stalled issues



## Contributing

This section describes how to start contributing to Armbian.
Expand Down

0 comments on commit 70832ae

Please sign in to comment.