feat(ci): add automatic PR labeling workflow (#473)

Configure actions/labeler@v5 to automatically label PRs based on file paths.
Maps changes to: app, web, documentation, ci, tests, installer, resources, dependencies.

Creates 6 new labels to complement existing issue labels for better PR organization.
This commit is contained in:
Jatin K Malik
2026-06-11 22:38:41 -07:00
committed by GitHub
parent e0ac5e409c
commit 7b4a081048
2 changed files with 80 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
# PR Labeler configuration
# See https://github.com/actions/labeler for details
# Core Python application (src, packaging, desktop entry)
app:
- changed-files:
- any-glob-to-any-file:
- "src/**/*"
- "pyproject.toml"
- "MANIFEST.in"
- "vocalinux.desktop"
# Next.js website
web:
- changed-files:
- any-glob-to-any-file:
- "web/**/*"
# Documentation (docs dir, markdown files, license)
documentation:
- changed-files:
- any-glob-to-any-file:
- "docs/**/*"
- "*.md"
- "LICENSE"
# CI/CD, build tooling, scripts, linting config
ci:
- changed-files:
- any-glob-to-any-file:
- ".github/**/*"
- "Makefile"
- "scripts/**/*"
- ".flake8"
- ".pre-commit-config.yaml"
# Test suite
tests:
- changed-files:
- any-glob-to-any-file:
- "tests/**/*"
# Installer / uninstaller scripts
installer:
- changed-files:
- any-glob-to-any-file:
- "install.sh"
- "uninstall.sh"
# Icons, sounds, screenshots, promo assets
resources:
- changed-files:
- any-glob-to-any-file:
- "resources/**/*"
# Dependency manifests
dependencies:
- changed-files:
- any-glob-to-any-file:
- "pyproject.toml"
- "web/package.json"
- "web/package-lock.json"
+18
View File
@@ -0,0 +1,18 @@
name: "Pull Request Labeler"
on:
pull_request_target:
types: [opened, synchronize, reopened]
jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Label PR
uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
sync-labels: true