Change summary
.github/labeler.yml | 47 +++++++++++++++++++++++++++++++++++++
.github/workflows/labeler.yml | 30 +++++++++++++++++++++++
2 files changed, 77 insertions(+)
Detailed changes
@@ -0,0 +1,47 @@
+# NOTE(@andreynering): We should have a single entry per label, because if we
+# have multiple the action would only apply the label if ALL of them match.
+
+"area: ci":
+ - "/^ci: /i"
+"area: docs":
+ - "/(docs|documentation|readme)/i"
+"area: lsp":
+ - "/lsp/i"
+"area: mcp":
+ - "/mcp/i"
+"area: permissions":
+ - "/permission/i"
+"area: tools":
+ - "/tool/i"
+"os: android":
+ - "/(android|termux)/i"
+"os: linux":
+ - "/(linux|fedora|debian|ubuntu)/i"
+"os: macos":
+ - "/(macos|osx|darwin)/i"
+"os: windows":
+ - "/(windows|win10|win11|win32|wsl|scoop|winget)/i"
+"panic / crash":
+ - "/(panic|crash|segfault)/i"
+"provider: anthropic claude":
+ - "/(anthropic|claude)/i"
+"provider: aws bedrock":
+ - "/(aws|bedrock)/i"
+"provider: google gemini":
+ - "/gemini/i"
+"provider: google vertex":
+ - "/vertex/i"
+"provider: kimi":
+ - "/kimi/i"
+"provider: ollama":
+ - "/llama/i"
+"provider: openai chatgpt":
+ - "/(openai|gpt)/i"
+"provider: openrouter":
+ - "/openrouter/i"
+"provider: qwen":
+ - "/qwen/i"
+"provider: xai grok":
+ - "/(xai|x\\.ai|grok)/i"
+"security":
+ - "/(security|vulnerability|exploit)/i"
@@ -0,0 +1,30 @@
+name: labeler
+
+on:
+ issues:
+ types: [opened]
+ pull_request_target:
+ types: [opened]
+ workflow_dispatch:
+ inputs:
+ issue-number:
+ description: "Issue/PR #"
+ required: true
+ type: string
+
+permissions:
+ issues: write
+ contents: read
+
+jobs:
+ triage:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: github/issue-labeler@v3.4
+ with:
+ configuration-path: .github/labeler.yml
+ enable-versioned-regex: 0
+ include-title: 1
+ include-body: 0
+ repo-token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
+ issue-number: ${{ github.event.inputs.issue-number || github.event.issue.number || github.event.pull_request.number }}