mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
Feat/2586 pr labeler (#2587)
This commit is contained in:
parent
bbc74cc116
commit
7b4a4d9ae0
6 changed files with 80 additions and 2 deletions
31
.github/labeler.yml
vendored
Normal file
31
.github/labeler.yml
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# Auto Labeler rulse using https://github.com/actions/labeler
|
||||
#
|
||||
|
||||
# 'fix' in title/branch -> bug
|
||||
# 'feat' in title/branch -> enhancement
|
||||
# 'repo' in title/branch OR changes to ~/.github/ -> repo
|
||||
# 'bug_fallthrough' for everything else except auto
|
||||
#
|
||||
# - [ ] need to look at title. waiting on https://github.com/actions/labeler/pull/866
|
||||
|
||||
# Add 'enhancement' label to any PR where the head branch name contains `feat`
|
||||
enhancement:
|
||||
- head-branch: ['feat']
|
||||
|
||||
# Add 'repo' label to any PR where the head branch name contains `repo`
|
||||
# or files in the .github dir
|
||||
repo:
|
||||
- any:
|
||||
- head-branch: ['repo']
|
||||
- changed-files:
|
||||
- any-glob-to-any-file: '.github'
|
||||
|
||||
# Add 'bug' label to any PR where the head branch name contains `fix` or `bug`
|
||||
bugfix:
|
||||
- head-branch: ['fix', 'bug']
|
||||
|
||||
# our fallback - bug except repo, feat, or automated pipelines
|
||||
# bug_fallthrough:
|
||||
# - all:
|
||||
# - head-branch: ['^((?!feat).)*$', '^((?!repo).)*$', '^((?!renovate).)*$', '^((?!scheduled).)*$']
|
||||
|
||||
2
.github/release.yml
vendored
2
.github/release.yml
vendored
|
|
@ -18,6 +18,7 @@ changelog:
|
|||
- dependencies
|
||||
- repo
|
||||
- automation
|
||||
- release
|
||||
|
||||
- title: 👷Dependencies
|
||||
labels:
|
||||
|
|
@ -30,3 +31,4 @@ changelog:
|
|||
- title: 🤖Automated
|
||||
labels:
|
||||
- automation
|
||||
- release
|
||||
|
|
|
|||
24
.github/workflows/pr_enforce_labels.yml
vendored
Normal file
24
.github/workflows/pr_enforce_labels.yml
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
name: Check PR Labels
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, edited, labeled, unlabeled, synchronize, reopened]
|
||||
|
||||
permissions:
|
||||
pull-requests: read
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
check-label:
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Check for PR labels
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const labels = context.payload.pull_request.labels.map(label => label.name);
|
||||
const requiredLabels = ['bugfix', 'enhancement', 'automation', 'dependencies', 'repo', 'release'];
|
||||
const hasRequiredLabel = labels.some(label => requiredLabels.includes(label));
|
||||
if (!hasRequiredLabel) {
|
||||
core.setFailed(`PR must have at least one of the following labels before it can be merged: ${requiredLabels.join(', ')}.`);
|
||||
}
|
||||
15
.github/workflows/pull-request-target.yml
vendored
Normal file
15
.github/workflows/pull-request-target.yml
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
name: "Pull Request Labeler"
|
||||
on:
|
||||
- pull_request_target
|
||||
# Do not execute arbitary code on this workflow.
|
||||
# See warnings at https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request_target
|
||||
|
||||
jobs:
|
||||
labeler:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- id: label-the-PR
|
||||
uses: actions/labeler@v5
|
||||
4
.github/workflows/pull-request.yml
vendored
4
.github/workflows/pull-request.yml
vendored
|
|
@ -28,7 +28,7 @@ jobs:
|
|||
GRADLE_ENCRYPTION_KEY: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
|
||||
|
||||
check-workflow-status:
|
||||
name: Check Workflow Status # Matches another in merge-queue, and is required.
|
||||
name: Check Workflow Status
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
[
|
||||
|
|
@ -46,4 +46,4 @@ jobs:
|
|||
fi
|
||||
}
|
||||
exit_on_result "build_and_detekt" "${{ needs.build_and_detekt.result }}"
|
||||
exit_on_result "androidTest" "${{ needs.androidTest.result }}"
|
||||
exit_on_result "androidTest" "${{ needs.androidTest.result }}"
|
||||
|
|
|
|||
|
|
@ -60,6 +60,12 @@ Comprehensive testing helps prevent regressions and ensures a stable experience
|
|||
|
||||
## Pull Requests
|
||||
|
||||
- branches should start with:
|
||||
- bugfix
|
||||
- enhancement
|
||||
- dependencies
|
||||
- repo
|
||||
- reserved (release, automation)
|
||||
- Ensure your branch is up to date with the latest `main` branch before submitting a PR.
|
||||
- Provide a meaningful title and description for your PR.
|
||||
- Inlude information on how to test and/or replicate if it is not obvious.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue