Improve labeling system - refactor labeling logic ()

* Add label table
* Add PR size labelling
* Implement suggestings from meeting
* Add proper GitHub labeller
---------

Co-authored-by: Werner <EvilOlaf@users.noreply.github.com>
This commit is contained in:
Igor 2023-11-19 22:36:06 +01:00 committed by GitHub
parent 8caf51243e
commit 70832ae5a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 152 additions and 3 deletions

9
.github/labeler.yml vendored
View File

@ -10,7 +10,7 @@
#
# Please keep the labels sorted and deduplicated.
"Hardware :gear:":
"Hardware":
- patch/u-boot/*
- patch/u-boot/**/*
- patch/atf/*
@ -19,6 +19,7 @@
- patch/kernel/*
- patch/kernel/**/*
- patch/misc/*
- patch/crust/*
- config/kernel/*
- config/sources/*
- config/sources/**/*
@ -26,11 +27,13 @@
- config/bootscripts/*
- config/bootenv/*
"Software :chains:":
"Software":
- lib/*
- tools/*
- config/cli/*
- packages/*
- extensions/*
- .github/workflows/*
"Desktop :desktop_computer:":
"Desktop":
- config/desktop/*

72
.github/labels.yml vendored Normal file
View File

@ -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
.github/workflows/labels-from-yml.yml vendored Normal file
View File

@ -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
.github/workflows/pr-size-labeler.yml vendored Normal file
View File

@ -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"
}

View File

@ -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.