Skip to content

Update sglang-ci-monitor for current CI shape - #1

Merged
JustinTong0323 merged 2 commits into
masterfrom
update-sglang-ci-monitor-2026-05
May 18, 2026
Merged

JustinTong0323 merged 2 commits into
masterfrom
update-sglang-ci-monitor-2026-05

Conversation

@JustinTong0323

Copy link
Copy Markdown
Owner

Summary

Refresh the sglang-ci-monitor skill to match how sgl-project/sglang's CI actually works today. The skill had drifted: it still referenced the old stage-{a,b,c}-test-* job names, leaned on /rerun-stage as a primary tool, and didn't know about pr-test-extra.yml, /rerun-group, the bypass-* labels, or the PR States block.

What changed

  • Stage rename: NVIDIA jobs are base-{a,b,c}-test-* ([CI] Rename basic CI stage-a/b/c -> base-a/b/c for symmetry with extra CI sgl-project/sglang#25420). AMD is unchanged — still stage-*. Filter pattern is still *-amd* so behavior is unaffected, but the prose and examples were updated.
  • check-stage-health → check-pr-test-health (composite action renamed). The two annotation shapes (Fast-fail: lint check failed vs Fast-fail: skipping — root cause job(s): <names>) are now documented as mutually exclusive, since lint is checked first and returns early.
  • /rerun-stage is deprecated (Deprecate /rerun-stage; scrub CUDA target_stage infra sgl-project/sglang#25322) — handler replies with a -1 reaction and a deprecation comment, then does nothing. Removed from the decision tree and command table; called out as a do-not-use in the Execution policy and What to not do sections.
  • New /rerun-group <group> command (ci: add /rerun-group to rerun all registered tests in a group sgl-project/sglang#24023): expands test/registered/<group>/test_*.py into a /rerun-test batch. Added to the command table and pre-approved list.
  • pr-test-extra.yml is a distinct workflow with its own run id, gated on run-ci AND run-ci-extra, with stages extra-{a,b}-test-*. Skill now distinguishes base CI from extra CI throughout.
  • New labels documented: run-ci-extra, bypass-fastfail (skips jobs-failed cascade, lint still cascades), bypass-maintenance (bypasses /rerun-test's pre-dispatch maintenance gate).
  • PR States block at the bottom of every PR body (maintained by pr-states.yml) is now the recommended fastest way to grab <RUN_ID>. Refreshed on workflow_run events so slash-command reruns refresh it too.
  • base-c-test-8-gpu-h20 exclusion: flaky-h20 noise is excluded from the fast-fail root-cause set, so an h20-only FAILURE won't cascade — documented so it isn't misread as a non-failure.
  • /rerun-failed-ci multi-workflow sweep: clarified that it iterates every workflow run on the head SHA (pr-test, pr-test-extra, pr-test-sgl-kernel, jit-kernel, multimodal-gen…), not just pr-test.yml.

Test plan

  • Cross-checked every change against the current code: .github/workflows/{pr-gate,pr-test,pr-test-extra,pr-states,lint}.yml, .github/actions/check-pr-test-health/action.yml, scripts/ci/utils/slash_command_handler.py.
  • Frontmatter YAML uses the same >- block-scalar form as commit 3e50268 ("Fix skill frontmatter YAML") to keep the description on one logical line without breaking the YAML parser.
  • Smoke test in a session: invoke /sglang-ci-monitor on a real PR and confirm the rollup, fast-fail, and rerun branches match the documented flow.

Reflect upstream CI changes since the skill was first written:

- Stage rename: NVIDIA `stage-{a,b,c}-test-*` → `base-{a,b,c}-test-*`
  (PR sgl-project/sglang#25420). AMD jobs still use the `stage-*` prefix.
- `check-stage-health` action → `check-pr-test-health`. Annotation
  messages still use `Fast-fail: skipping — root cause job(s): <names>`
  and `Fast-fail: lint check failed`, but they are now mutually
  exclusive (lint is checked first and returns early).
- `/rerun-stage` is deprecated (PR #25322): handler replies `-1` plus a
  deprecation comment, does nothing. Removed from decision tree and
  command table; documented as a do-not-use.
- New `/rerun-group <group>` command (PR #24023): expands
  `test/registered/<group>/test_*.py` into a `/rerun-test` batch.
- New `pr-test-extra.yml` workflow (label-gated extras, stages
  `extra-a/b-test-*`) double-gated on `run-ci` + `run-ci-extra`.
- New labels: `run-ci-extra` opts in to extra CI; `bypass-fastfail`
  skips the jobs-failed cascade (lint still cascades);
  `bypass-maintenance` bypasses the rebase-required / maintenance-pause
  gates inside `/rerun-test` and `check-maintenance`.
- New shortcut for grabbing `<RUN_ID>`: read the PR States block at the
  bottom of every PR body (maintained by `pr-states.yml`), which links
  the latest pr-test and pr-test-extra runs and is refreshed on
  workflow_run events so slash-command reruns refresh it too.
- `base-c-test-8-gpu-h20` is excluded from the fast-fail root-cause set
  (flaky h20 noise); document the implication.
- `/rerun-failed-ci` now iterates every workflow run on the head SHA
  (pr-test, pr-test-extra, pr-test-sgl-kernel, jit-kernel,
  multimodal-gen…), so sibling-workflow failures are picked up in one
  command.
@JustinTong0323
JustinTong0323 merged commit 0bbfe81 into master May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant