diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..e38da32 --- /dev/null +++ b/.github/labeler.yml @@ -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" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 0000000..11d1638 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -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