[CI] expand issue labeler rules for feature/model triage (#7356)

- Replace minimal label rules with a comprehensive keyword-based issue
labeler taxonomy.
- Add grouped labels for core features and advanced capabilities to
improve issue routing.
- Expand model-related matching for LLM, multimodal generation,
multimodal understanding, audio, and omni scenarios.
- Add/normalize regex patterns for common model families (DeepSeek,
Kimi, GLM, Qwen, 310p, etc.) to increase auto-label coverage and
consistency.
### What this PR does / why we need it?
- Expands `.github/issue-labeler.yml` from a minimal set of rules to a
richer keyword-based labeling configuration.
- Adds grouped label dimensions for:
- Core features (e.g., PD disaggregation, KV cache pool, ACLGraph, async
scheduler, CPU binding, quantization)
- Advanced features (e.g., long sequence, DPC/PCP, MTP/speculative
decode)
- Model categories (LLM, multimodal generation, multimodal
understanding, audio, omni, etc.)
  - Specific model families (e.g., DeepSeek, Kimi, GLM, Qwen, 310p)
- Improves automatic issue triage accuracy and reduces manual label
maintenance effort.
- Makes issue categorization more consistent for maintainers and
contributors.

Why needed:
- Existing labeler rules were too limited and could not adequately cover
current feature/model issue distribution.
- Broader and more structured matching helps faster routing,
prioritization, and ownership assignment.

Fixes #N/A

### Does this PR introduce _any_ user-facing change?
- No runtime/API user-facing changes.
- This PR only updates GitHub issue automation rules.

### How was this patch tested?
- Performed static validation and review of `.github/issue-labeler.yml`
structure and regex entries.
- Verified that rule groups and label keys are correctly formatted for
GitHub issue labeler consumption.
- Confirmed that legacy minimal rules were replaced by expanded taxonomy
without syntax-breaking YAML changes.
- No unit/e2e tests were added because this is repository automation
configuration (GitHub labeling rules) rather than application runtime
logic.
- vLLM version: v0.17.0
- vLLM main:
4034c3d32e

---------

Signed-off-by: drizzlezyk <drizzlezyk@163.com>
This commit is contained in:
drizzlezyk
2026-03-17 23:28:04 +08:00
committed by GitHub
parent d9ac7e8539
commit 467c815db6

View File

@@ -1,12 +1,74 @@
310p:
- '/(310p)/i'
glm5:
- '/(glm5)/i'
qwen3.5:
- '/(qwen3.5)/i'
core-features:
- '/((pd|(prefill[- ]?decode))\s+disaggregation|kv cache pool|aclgraph|async scheduler|cpu binding|quantization)/i'
pd-disaggregation:
- '/((pd|(prefill[- ]?decode))\s+disaggregation)/i'
kv-cache-pool:
- '/(kv cache pool)/i'
aclgraph:
- '/(aclgraph)/i'
async-scheduler:
- '/(async scheduler)/i'
cpu-binding:
- '/(cpu binding)/i'
quantization:
- '/(quantization)/i'
advanced_features:
- '/(long sequence|dpc|pcp|mtp|speculative decode)/i'
long-seq:
- '/(long sequence|dpc|pcp)/i'
mtp/speculative-decode:
- '/(mtp|speculative decode)/i'
eplb:
- '/(eplb)/i'
llm-model:
- '/(deepseek[- ]*(r1|v3(\.2)?)\S*|(kimi k2|kimik2|kimi-k2)(?!\.5)|glm5|qwen3-(?:235b|480b)\S*|Qwen3-(?:32B|8B|30B)\S*|qwen3 next|glm\s*4\.(?![^v\s]*v)\S*)/i'
deepseek:
- '/(deepseek)/i'
kimi k2:
- '/(kimi k2|kimik2)(?!\.5)/i'
kimi k2.5:
- '/(kimi k2.5|kimik2.5)/i'
- '/(deepseek[- ]*(r1|v3(\.2)?)\S*)/i'
kimi-k2:
- '/((kimi k2|kimik2|kimi-k2)(?!\.5))/i'
kimi-k2.5:
- '/((kimi k2\.5|kimik2\.5|kimi-k2\.5))/i'
glm5:
- '/(glm5)/i'
qwen3-moe:
- '/(Qwen3-(?:235B|480B)\S*)/i'
qwen3-dense:
- '/(Qwen3-(?:32B|8B|30B)\S*)/i'
qwen3-next:
- '/(qwen3-next)/i'
glm-4:
- '/(glm\s*4\.(?![^v\s]*v)\S*)/i'
multi-modality-generate:
- '/(seedance\S*|seedream\S*|wan\S*|hunyuan\S*|fLux\S*|kimi k2\.5|kimi-k2\.5|kimik2\.5|minimax\S*|qwen-image\S*)/i'
seedance:
- '/(seedance\S*)/i'
seedream:
- '/(seedream\S*)/i'
wan:
- '/(wan\S*)/i'
hunyuan:
- '/(hunyuan\S*)/i'
fLux:
- '/(fLux\S*)/i'
qwen-image:
- '/(qwen-image\S*)/i'
minimax:
- '/(minimax\S*)/i'
multimodal_understanding:
- '/(glm-?4\.\S*v\b|qwen3\.5\S*|deepseek-ocr\S*)/i'
glm-4v:
- '/(glm-?4\.\S*v\b)/i'
qwen-3.5:
- '/(qwen3\.5\S*)/i'
deepseek-ocr:
- '/(deepseek-ocr\S*)/i'
audio-model:
- '/(qwen3-tts\S*)/i'
omni-model:
- '/(qwen3-Omni\S*)/i'
multimodal-unified-autoregress:
- '/(hunyuan\S*|emu\S*)/i'
paddle:
- '/(paddle\S*)/i'
310p:
- '/(310p\S*)/i'