[CI/Build] Gate PR title check on ready PRs & use slim runners (#54827)

Co-authored-by: Codex <codex@openai.com> Signed-off-by: Bugen Zhao <i@bugenzhao.com>

Bugen Zhao committed Sep 2, 2026 at 09:12 UTC 80389cfedd5040e382d64a64b1782f66de1a38bf
2 files changed +18 -2
.github/actionlint.yaml
+1
@@ -5,3 +5,4 @@ self-hosted-runner:
5 - vllm-runners
6 # Not yet in actionlint's known-label set.
7 - macos-26
8 + - ubuntu-slim
.github/workflows/pr-title.yml
+17 -2
@@ -2,14 +2,29 @@ name: PR title
2
3 on:
4 pull_request:
5 - types: [opened, edited, reopened, synchronize]
5 + types: [labeled, edited, reopened, ready_for_review, synchronize]
6 +
7 +concurrency:
8 + group: pr-title-${{ github.event.pull_request.number }}
9 + cancel-in-progress: true
10
11 permissions: {}
12
13 jobs:
14 check-format:
15 name: Check format
12 - runs-on: ubuntu-latest
16 + # Triggered when:
17 + # - The `ready` label is added.
18 + # - A ready PR's title is edited.
19 + # - A ready PR is reopened.
20 + # - A draft PR with the `ready` label is marked ready for review.
21 + # - New commits are pushed to a ready PR (so its latest commit has a title check status).
22 + if: >-
23 + github.event.pull_request.draft == false &&
24 + contains(github.event.pull_request.labels.*.name, 'ready') &&
25 + (github.event.action != 'labeled' || github.event.label.name == 'ready') &&
26 + (github.event.action != 'edited' || github.event.changes.title != null)
27 + runs-on: ubuntu-slim
28 steps:
29 - name: Validate title
30 env: