diff --git a/.claude/skills/add-jit-kernel/SKILL.md b/.claude/skills/add-jit-kernel/SKILL.md index e63a7d77b..60c94f264 100644 --- a/.claude/skills/add-jit-kernel/SKILL.md +++ b/.claude/skills/add-jit-kernel/SKILL.md @@ -435,7 +435,7 @@ if torch.cuda.get_device_capability()[0] < 9: JIT kernel tests live under `python/sglang/jit_kernel/tests/`. **CI does not run `pytest` in that directory directly.** The unified runner `test/run_suite.py` discovers every `test_*.py` there (and every `bench_*.py` under `benchmark/`), collects `register_*_ci(...)` calls by **statically parsing each file's AST**, and executes the selected suite. Every test file must register at least one CUDA entry or the collector fails its sanity check. -- **PR / per-commit CUDA suites** (see `test/run_suite.py` → `PER_COMMIT_SUITES`): JIT unit tests use `stage-b-kernel-unit-1-gpu-large` on H100 and `stage-b-kernel-unit-1-gpu-b200` on B200/SM100 paths (see `.github/workflows/pr-test-jit-kernel.yml`). Multi-GPU JIT tests use `stage-b-kernel-unit-8-gpu-h200`. +- **PR / per-commit CUDA suites** (see `test/run_suite.py` → `PER_COMMIT_SUITES`): JIT unit tests use `base-b-kernel-unit-1-gpu-large` on H100 and `base-b-kernel-unit-1-gpu-b200` on B200/SM100 paths (see `.github/workflows/pr-test-jit-kernel.yml`). Multi-GPU JIT tests use `base-b-kernel-unit-8-gpu-h200`. - **Nightly kernel suite**: `nightly-kernel-1-gpu` with `--nightly` — typically used with `SGLANG_JIT_KERNEL_RUN_FULL_TESTS=1` in CI for expanded parameter grids (see `python/sglang/jit_kernel/utils.py` → `should_run_full_tests` / `get_ci_test_range`). Wired in `.github/workflows/nightly-test-nvidia.yml` (e.g. `python3 run_suite.py --hw cuda --suite nightly-kernel-1-gpu --nightly --continue-on-error`). Registration pattern (module level, **literal** `est_time` and `suite` strings — required for AST parsing): @@ -443,9 +443,9 @@ Registration pattern (module level, **literal** `est_time` and `suite` strings ```python from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") # Optional B200/SM100 registration for tests that cover Blackwell-specific code paths -# register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-b200") +# register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-b200") # Optional second registration: same file also listed under the nightly kernel suite # register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) ``` @@ -457,9 +457,9 @@ Use `register_cuda_ci(..., disabled="reason")` if the file must stay in-tree but **Run like CI** (from repo root): ```bash -(cd test && python3 run_suite.py --hw cuda --suite stage-b-kernel-unit-1-gpu-large) +(cd test && python3 run_suite.py --hw cuda --suite base-b-kernel-unit-1-gpu-large) # For B200/SM100-specific coverage: -(cd test && python3 run_suite.py --hw cuda --suite stage-b-kernel-unit-1-gpu-b200) +(cd test && python3 run_suite.py --hw cuda --suite base-b-kernel-unit-1-gpu-b200) ``` For fast iteration you can still run `pytest` on a single file locally; CI coverage is via `run_suite.py`. @@ -472,7 +472,7 @@ import torch from sglang.jit_kernel.scale import scale from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") @pytest.mark.parametrize("dtype", [torch.float16, torch.bfloat16, torch.float32]) @@ -517,7 +517,7 @@ if __name__ == "__main__": ## Step 5: Add a benchmark (required) -Benchmarks are `bench_*.py` files under `python/sglang/jit_kernel/benchmark/`. They are picked up by the same `run_suite.py` machinery as unit tests. Register them for **`stage-b-kernel-benchmark-1-gpu-large`** (PR JIT benchmark job: `python3 run_suite.py --hw cuda --suite stage-b-kernel-benchmark-1-gpu-large`). +Benchmarks are `bench_*.py` files under `python/sglang/jit_kernel/benchmark/`. They are picked up by the same `run_suite.py` machinery as unit tests. Register them for **`base-b-kernel-benchmark-1-gpu-large`** (PR JIT benchmark job: `python3 run_suite.py --hw cuda --suite base-b-kernel-benchmark-1-gpu-large`). Create `python/sglang/jit_kernel/benchmark/bench_scale.py`: @@ -537,7 +537,7 @@ from sglang.jit_kernel.benchmark.utils import ( from sglang.jit_kernel.scale import scale as jit_scale from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=6, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-benchmark-1-gpu-large") SIZE_LIST = get_benchmark_range( full_range=[2**n for n in range(10, 20)], # 1K … 512K elements @@ -585,7 +585,7 @@ python python/sglang/jit_kernel/benchmark/bench_scale.py Run the benchmark suite the way CI does: ```bash -cd test && python3 run_suite.py --hw cuda --suite stage-b-kernel-benchmark-1-gpu-large +cd test && python3 run_suite.py --hw cuda --suite base-b-kernel-benchmark-1-gpu-large ``` --- diff --git a/.claude/skills/ci-workflow-guide/SKILL.md b/.claude/skills/ci-workflow-guide/SKILL.md index 99885d3ef..3b71881ca 100644 --- a/.claude/skills/ci-workflow-guide/SKILL.md +++ b/.claude/skills/ci-workflow-guide/SKILL.md @@ -11,7 +11,7 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, ## Naming Conventions -- **Suite**: `stage-{a,b,c}-test-{gpu_count}-gpu-{hardware}` (e.g., `stage-b-test-1-gpu-small`) +- **Suite**: `base-{a,b,c}-test-{gpu_count}-gpu-{hardware}` (e.g., `base-b-test-1-gpu-small`) - **Test group**: Directory-level registered test group under `test/registered/` (e.g., `hicache` maps to `test/registered/hicache/test_*.py`) - **CI runner**: `{gpu_count}-gpu-{hardware}` (e.g., `1-gpu-5090`, `4-gpu-h100`, `8-gpu-h200`) @@ -23,7 +23,7 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, |------|------| | `.github/workflows/pr-test.yml` | Main workflow — all stages, jobs, conditions, matrix definitions | | `.github/workflows/pr-gate.yml` | PR gating: draft check, `run-ci` label, per-user rate limiting | -| `.github/actions/check-stage-health/action.yml` | Cross-job fast-fail: queries API for any failed job | +| `.github/actions/check-pr-test-health/action.yml` | Cross-job fast-fail: queries API for any failed job | | `.github/actions/wait-for-jobs/action.yml` | Stage gating: polls API until stage jobs complete | | `.github/actions/check-maintenance/action.yml` | Maintenance mode check | | `test/run_suite.py` | Suite runner: collects, filters, partitions, executes tests | @@ -49,53 +49,53 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, │ │ ▼ │ ┌─────────────────────────────────────┐ │ - │ Stage A (~3 min) │ │ + │ Base A (~3 min) │ │ │ pre-flight check │ │ │ │ │ │ ┌─────────────────────────────┐ │ │ - │ │ stage-a-test-1-gpu-small │ │ │ + │ │ base-a-test-1-gpu-small │ │ │ │ │ (small GPUs) │ │ │ │ └─────────────────────────────┘ │ │ │ ┌─────────────────────────────┐ │ │ - │ │ stage-a-test-cpu │ │ │ + │ │ base-a-test-cpu │ │ │ │ │ (CPU) │ │ │ │ └─────────────────────────────┘ │ │ └──────┬──────────────────────────────┘ │ │ │ ▼ ▼ ┌─────────────────────────────────────┐ ┌──────────────────────────┐ - │ Stage B (~30 min) │ │ kernel test │ - │ basic tests │ └──────────────────────────┘ + │ Base B (~30 min) │ │ kernel test │ + │ base tests │ └──────────────────────────┘ │ │ ┌──────────────────────────┐ │ ┌─────────────────────────────┐ │ │ multimodal gen test │ - │ │ stage-b-test-1-gpu-small │ │ └──────────────────────────┘ + │ │ base-b-test-1-gpu-small │ │ └──────────────────────────┘ │ │ (small GPUs, e.g. 5090) │ │ │ └─────────────────────────────┘ │ │ ┌─────────────────────────────┐ │ - │ │ stage-b-test-1-gpu-large │ │ + │ │ base-b-test-1-gpu-large │ │ │ │ (large GPUs, e.g. H100) │ │ │ └─────────────────────────────┘ │ │ ┌─────────────────────────────┐ │ - │ │ stage-b-test-2-gpu-large │ │ + │ │ base-b-test-2-gpu-large │ │ │ │ (large GPUs, e.g. H100) │ │ │ └─────────────────────────────┘ │ └──────┬──────────────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ - │ Stage C (~30 min) │ + │ Base C (~30 min) │ │ advanced tests │ │ │ │ ┌─────────────────────────────┐ │ - │ │ stage-c-test-4-gpu-h100 │ │ + │ │ base-c-test-4-gpu-h100 │ │ │ │ (H100 GPUs) │ │ │ └─────────────────────────────┘ │ │ ┌─────────────────────────────┐ │ - │ │ stage-c-test-8-gpu-h200 │ │ + │ │ base-c-test-8-gpu-h200 │ │ │ │ (8 x H200 GPUs) │ │ │ └─────────────────────────────┘ │ │ ┌─────────────────────────────┐ │ - │ │ stage-c-test-4-gpu-b200 │ │ + │ │ base-c-test-4-gpu-b200 │ │ │ │ (4 x B200 GPUs) │ │ │ └─────────────────────────────┘ │ │ ┌─────────────────────────────┐ │ @@ -112,9 +112,9 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, └─────────────────────────────────────┘ ``` -**Every stage test job** includes a `check-stage-health` step after checkout — if any job in the run has already failed, the job fast-fails (red X) with a root cause annotation. +**Every stage test job** includes a `check-pr-test-health` step after checkout — if any job in the run has already failed, the job fast-fails (red X) with a root cause annotation. -**Scheduled runs** skip `wait-for-stage-*` jobs, running all stages in parallel. Fast-fail is also disabled. +**Scheduled runs** skip `wait-for-base-*` jobs, running all stages in parallel. Fast-fail is also disabled. --- @@ -126,13 +126,13 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, |-------|-----------|-------------|----------------------| | **1. Test method → file** | `unittest -f` (failfast) | One test method fails → entire test file stops immediately | Yes | | **2. File → suite** | `run_unittest_files()` default | One test file fails → entire suite stops (`--continue-on-error` off) | Yes | -| **3. Job → job (same stage)** | `check-stage-health` action | One job fails → other waiting jobs in same stage fast-fail (red X) | Yes | -| **4. Stage → stage (cross-stage)** | `wait-for-stage` + `needs` | Stage A fails → stage B/C jobs skip entirely (never get a runner) | Yes (wait jobs skipped) | +| **3. Job → job (same stage)** | `check-pr-test-health` action | One job fails → other waiting jobs in same stage fast-fail (red X) | Yes | +| **4. Stage → stage (cross-stage)** | `wait-for-base-*` + `needs` | Base A fails → base B/C jobs skip entirely (never get a runner) | Yes (wait jobs skipped) | - **Layer 1**: `-f` flag appended to all `python3 -m pytest` / `unittest` invocations in `ci_utils.py` - **Layer 2**: `--continue-on-error` flag in `run_suite.py` — off for PRs, on for scheduled runs -- **Layer 3**: `check-stage-health` auto-detects `schedule` event and skips; filters out cascade failures to show only root cause jobs -- **Layer 4**: `wait-for-stage-*` jobs are conditioned on `github.event_name == 'pull_request'` — skipped for scheduled runs +- **Layer 3**: `check-pr-test-health` auto-detects `schedule` event and skips; filters out cascade failures to show only root cause jobs +- **Layer 4**: `wait-for-base-*` jobs are conditioned on `github.event_name == 'pull_request'` — skipped for scheduled runs --- @@ -140,8 +140,8 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, | Aspect | PR (`pull_request`) | Scheduled (`cron`, every 6h) | `/rerun-stage` (`workflow_dispatch`) | |--------|---------------------|------------------------------|--------------------------------------| -| **Stage ordering** | Sequential: A → B → C via `wait-for-stage-*` | Parallel (all at once) | Single target stage only | -| **Cross-job fast-fail** | Yes (`check-stage-health`) | Yes | Yes | +| **Stage ordering** | Sequential: A → B → C via `wait-for-base-*` | Parallel (all at once) | Single target stage only | +| **Cross-job fast-fail** | Yes (`check-pr-test-health`) | Yes | Yes | | **continue-on-error** | No (stop at first failure within suite) | Yes (run all tests) | No | | **Retry** | Enabled | Enabled | Enabled | | **max_parallel** | 3 (default), 14 if `high priority` label | 14 | 3 (default), 14 if `high priority` | @@ -152,23 +152,23 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, ## Stage Gating (`wait-for-jobs` action) -`wait-for-stage-a` and `wait-for-stage-b` are lightweight `ubuntu-latest` jobs that poll the GitHub Actions API. +`wait-for-base-a` and `wait-for-base-b` are lightweight `ubuntu-latest` jobs that poll the GitHub Actions API. **How it works:** 1. Calls `listJobsForWorkflowRun` to list all jobs in the current run -2. Matches jobs by exact name or prefix (for matrix jobs, e.g., `stage-b-test-1-gpu-small (3)`) +2. Matches jobs by exact name or prefix (for matrix jobs, e.g., `base-b-test-1-gpu-small (3)`) 3. If any matched job has `conclusion === 'failure'` → fail immediately (fast-fail) 4. If all matched jobs are completed and count matches `expected_count` → success 5. Otherwise → sleep `poll-interval-seconds` (default: 60s) and retry -6. Timeout after `max-wait-minutes` (240 min for stage-a, 480 min for stage-b) +6. Timeout after `max-wait-minutes` (240 min for base-a, 480 min for base-b) -**Job specs example** (stage-b): +**Job specs example** (base-b): ```json [ - {"prefix": "stage-b-test-1-gpu-small", "expected_count": 8}, - {"prefix": "stage-b-test-1-gpu-large", "expected_count": 14}, - {"prefix": "stage-b-test-2-gpu-large", "expected_count": 4}, - {"prefix": "stage-b-test-4-gpu-b200", "expected_count": 1} + {"prefix": "base-b-test-1-gpu-small", "expected_count": 8}, + {"prefix": "base-b-test-1-gpu-large", "expected_count": 14}, + {"prefix": "base-b-test-2-gpu-large", "expected_count": 4}, + {"prefix": "base-b-test-4-gpu-b200", "expected_count": 1} ] ``` @@ -178,17 +178,17 @@ This skill covers the CI **infrastructure** layer — how tests are dispatched, --- -## Cross-Job Fast-Fail (`check-stage-health` action) +## Cross-Job Fast-Fail (`check-pr-test-health` action) Composite action called after checkout in every stage test job (21 jobs total across `pr-test.yml`, `pr-test-multimodal-gen.yml`, `pr-test-sgl-kernel.yml`, `pr-test-jit-kernel.yml`). **How it works:** 1. Queries `listJobsForWorkflowRun` for the current workflow run -2. Filters for **root cause failures only** — jobs with `conclusion === 'failure'` whose failing step is NOT `check-stage-health` (excludes cascade failures) +2. Filters for **root cause failures only** — jobs with `conclusion === 'failure'` whose failing step is NOT `check-pr-test-health` (excludes cascade failures) 3. If root cause failures found → calls `core.setFailed()` with the list of root cause job names 4. If none → does nothing (step succeeds) -**Cascade filtering**: When job A fast-fails due to health check, it also has `conclusion: failure`. Without filtering, job B would list both the original failure AND job A's fast-fail. The filter checks each failed job's `steps` array — if the failing step name contains `check-stage-health` or `Check stage health`, it's excluded from the root cause list. +**Cascade filtering**: When job A fast-fails due to health check, it also has `conclusion: failure`. Without filtering, job B would list both the original failure AND job A's fast-fail. The filter checks each failed job's `steps` array — if the failing step name contains `check-pr-test-health` or `Check PR test health`, it's excluded from the root cause list. **Usage pattern:** ```yaml @@ -197,8 +197,8 @@ steps: uses: actions/checkout@v4 ... - - uses: ./.github/actions/check-stage-health - id: stage-health + - uses: ./.github/actions/check-pr-test-health + id: pr-test-health - name: Install dependencies # skipped automatically if health check failed ... # (default if: success() is false) @@ -213,7 +213,7 @@ steps: **Error message example:** ``` -Fast-fail: skipping — root cause job(s): stage-b-test-1-gpu-small (0), stage-b-test-1-gpu-small (1) +Fast-fail: skipping — root cause job(s): base-b-test-1-gpu-small (0), base-b-test-1-gpu-small (1) ``` --- @@ -270,27 +270,26 @@ Large suites are split across matrix jobs using the **LPT (Longest Processing Ti | Suite | Partitions | Runner | max_parallel | |-------|-----------|--------|-------------| -| `stage-a-test-1-gpu-small` | 1 (no matrix) | `1-gpu-5090` | — | -| `stage-a-test-cpu` | 4 | `ubuntu-latest` | — | -| `stage-b-test-1-gpu-small` | 8 | `1-gpu-5090` | 8 | -| `stage-b-test-1-gpu-large` | 14 | `1-gpu-h100` | dynamic (3 or 14) | -| `stage-b-test-2-gpu-large` | 4 | `2-gpu-h100` | — | -| `stage-b-test-4-gpu-b200` | 1 (no matrix) | `4-gpu-b200` | — | -| `stage-b-kernel-unit-1-gpu-large` | 1 (no matrix) | `1-gpu-h100` | — | -| `stage-b-kernel-unit-1-gpu-b200` | 1 (no matrix) | `4-gpu-b200` | — | -| `stage-b-kernel-unit-8-gpu-h200` | 1 (no matrix) | `8-gpu-h200` | — | -| `stage-b-kernel-benchmark-1-gpu-large` | 1 (no matrix) | `1-gpu-h100` | — | -| `stage-c-test-4-gpu-h100` | 3 | `4-gpu-h100` | — | -| `stage-c-test-8-gpu-h200` | 4 | `8-gpu-h200` | — | -| `stage-c-test-8-gpu-h20` | 2 | `8-gpu-h20` | — | -| `stage-c-test-deepep-4-gpu-h100` | 1 (no matrix) | `4-gpu-h100` | — | -| `stage-c-test-deepep-8-gpu-h200` | 1 (no matrix) | `8-gpu-h200` | — | -| `stage-c-test-4-gpu-b200` | 3 | `4-gpu-b200` | — | -| `stage-c-test-4-gpu-b200-small` | 3 | `4-gpu-b200-low-disk` | — | -| `stage-c-test-8-gpu-b200` | registered only | `8-gpu-b200` | — | -| `stage-c-test-4-gpu-gb200` | registered only | `4-gpu-gb200` | — | +| `base-a-test-1-gpu-small` | 1 (no matrix) | `1-gpu-5090` | — | +| `base-a-test-cpu` | 4 | `ubuntu-latest` | — | +| `base-b-test-1-gpu-small` | 8 | `1-gpu-5090` | 8 | +| `base-b-test-1-gpu-large` | 14 | `1-gpu-h100` | dynamic (3 or 14) | +| `base-b-test-2-gpu-large` | 4 | `2-gpu-h100` | — | +| `base-b-test-4-gpu-b200` | 1 (no matrix) | `4-gpu-b200` | — | +| `base-b-kernel-unit-1-gpu-large` | 1 (no matrix) | `1-gpu-h100` | — | +| `base-b-kernel-unit-1-gpu-b200` | 1 (no matrix) | `4-gpu-b200` | — | +| `base-b-kernel-unit-8-gpu-h200` | 1 (no matrix) | `8-gpu-h200` | — | +| `base-b-kernel-benchmark-1-gpu-large` | 1 (no matrix) | `1-gpu-h100` | — | +| `base-c-test-4-gpu-h100` | 3 | `4-gpu-h100` | — | +| `base-c-test-8-gpu-h200` | 4 | `8-gpu-h200` | — | +| `base-c-test-8-gpu-h20` | 2 | `8-gpu-h20` | — | +| `base-c-test-deepep-4-gpu-h100` | 1 (no matrix) | `4-gpu-h100` | — | +| `base-c-test-4-gpu-b200` | 3 | `4-gpu-b200` | — | +| `base-c-test-4-gpu-b200-small` | 3 | `4-gpu-b200-low-disk` | — | +| `base-c-test-8-gpu-b200` | registered only | `8-gpu-b200` | — | +| `base-c-test-4-gpu-gb200` | registered only | `4-gpu-gb200` | — | -> **Note**: Kernel suites (`stage-b-kernel-*`) run via `pr-test-jit-kernel.yml` and `pr-test-sgl-kernel.yml`, not the main `pr-test.yml`. `stage-c-test-8-gpu-b200` is registered in `test/run_suite.py` but not wired to PR CI. The GB200 job is currently commented out in `pr-test.yml` until a company-owned runner is provisioned. Multimodal diffusion uses `python/sglang/multimodal_gen/test/run_suite.py`, not `test/run_suite.py`. +> **Note**: Kernel suites (`base-b-kernel-*`) run via `pr-test-jit-kernel.yml` and `pr-test-sgl-kernel.yml`, not the main `pr-test.yml`. `base-c-test-8-gpu-b200` is registered in `test/run_suite.py` but not wired to PR CI. The GB200 job is currently commented out in `pr-test.yml` until a company-owned runner is provisioned. Multimodal diffusion uses `python/sglang/multimodal_gen/test/run_suite.py`, not `test/run_suite.py`. **Workflow usage:** ```yaml @@ -298,7 +297,7 @@ strategy: matrix: partition: [0, 1, 2, 3, 4, 5, 6, 7] steps: - - run: python3 run_suite.py --hw cuda --suite stage-b-test-1-gpu-small \ + - run: python3 run_suite.py --hw cuda --suite base-b-test-1-gpu-small \ --auto-partition-id ${{ matrix.partition }} --auto-partition-size 8 ``` @@ -320,7 +319,7 @@ Determines which test suites to run based on file changes. | Output | Triggers | |--------|----------| -| `main_package` | Stage A/B/C test suites | +| `main_package` | Base A/B/C test suites | | `sgl_kernel` | Kernel wheel builds + kernel test suites; also switches B200 jobs to kernel-build runner labels outside `target_stage` mode | | `jit_kernel` | JIT kernel test workflow | | `multimodal_gen` | Multimodal-gen test workflow | @@ -348,10 +347,10 @@ group: pr-test-{event_name}-{branch}-{pr_sha}-{stage} ## How To: Add a New Stage Job -1. Define the job in `pr-test.yml` with `needs: [check-changes, call-gate, wait-for-stage-X, ...]` +1. Define the job in `pr-test.yml` with `needs: [check-changes, call-gate, wait-for-base-X, ...]` 2. Copy the `if:` condition pattern from an existing same-stage job (handles `target_stage`, `schedule`, `main_package`) 3. Add `checkout` step -4. Add `check-stage-health` step (after checkout) — if any prior job failed, `core.setFailed()` fires and all subsequent steps auto-skip via default `if: success()` +4. Add `check-pr-test-health` step (after checkout) — if any prior job failed, `core.setFailed()` fires and all subsequent steps auto-skip via default `if: success()` 5. Add `check-maintenance` step 6. Add `download-artifact` step if `sgl_kernel` changed 7. Add `install dependencies` step @@ -359,7 +358,7 @@ group: pr-test-{event_name}-{branch}-{pr_sha}-{stage} 9. Add `upload-cuda-coredumps` step with `if: always()` 10. Register the suite name in `PER_COMMIT_SUITES` in `test/run_suite.py` 11. If using matrix, add `--auto-partition-id` and `--auto-partition-size` to the run command -12. **Update `wait-for-stage-X`** job spec with the new job name and `expected_count` (if matrix) +12. **Update `wait-for-base-X`** job spec with the new job name and `expected_count` (if matrix) 13. **Add the job to `pr-test-finish.needs`** list --- @@ -368,8 +367,8 @@ group: pr-test-{event_name}-{branch}-{pr_sha}-{stage} | Symptom | Likely cause | What to check | |---------|-------------|---------------| -| All stage-B/C jobs green but steps skipped | Earlier job failed, `check-stage-health` triggered | Find the actual failed job (red X) | -| `wait-for-stage-b` timeout | `expected_count` doesn't match matrix size | Verify job spec counts match `matrix:` array length | +| All stage-B/C jobs green but steps skipped | Earlier job failed, `check-pr-test-health` triggered | Find the actual failed job (red X) | +| `wait-for-base-b` timeout | `expected_count` doesn't match matrix size | Verify job spec counts match `matrix:` array length | | `pr-test-finish` fails but all jobs green | A job was `cancelled` (counts as failure in finish) | Check concurrency cancellation | | Tests pass locally but fail in CI | Partition assignment, runner GPU type, or `est_time` inaccuracy | Check which partition the test lands in; verify runner label | | Flaky test retried and passed | Retriable failure (accuracy/perf) | Check `[CI Retry]` markers in job logs | diff --git a/.claude/skills/write-sglang-test/SKILL.md b/.claude/skills/write-sglang-test/SKILL.md index 8bd49a8b6..3ed22137d 100644 --- a/.claude/skills/write-sglang-test/SKILL.md +++ b/.claude/skills/write-sglang-test/SKILL.md @@ -27,10 +27,10 @@ JIT kernel exception: | Scenario | Model | CI Registration | Suite | |----------|-------|-----------------|-------| -| **Unit tests** (no server / engine launch) | None | `register_cpu_ci` (prefer) or `register_cuda_ci` | `stage-a-test-cpu` or `stage-b-test-1-gpu-small` | -| **Common / backend-independent** (middleware, abort, routing, config, arg parsing) | `DEFAULT_SMALL_MODEL_NAME_FOR_TEST` (1B) | `register_cuda_ci` only | `stage-b-test-1-gpu-small` | -| **Model-agnostic functionality** (sampling, session, OpenAI API features) | `DEFAULT_SMALL_MODEL_NAME_FOR_TEST` (1B) | `register_cuda_ci` (+ AMD if relevant) | `stage-b-test-1-gpu-small` | -| **General performance** (single node, no spec/DP/parallelism) | `DEFAULT_MODEL_NAME_FOR_TEST` (8B) | `register_cuda_ci` | `stage-b-test-1-gpu-large` | +| **Unit tests** (no server / engine launch) | None | `register_cpu_ci` (prefer) or `register_cuda_ci` | `base-a-test-cpu` or `base-b-test-1-gpu-small` | +| **Common / backend-independent** (middleware, abort, routing, config, arg parsing) | `DEFAULT_SMALL_MODEL_NAME_FOR_TEST` (1B) | `register_cuda_ci` only | `base-b-test-1-gpu-small` | +| **Model-agnostic functionality** (sampling, session, OpenAI API features) | `DEFAULT_SMALL_MODEL_NAME_FOR_TEST` (1B) | `register_cuda_ci` (+ AMD if relevant) | `base-b-test-1-gpu-small` | +| **General performance** (single node, no spec/DP/parallelism) | `DEFAULT_MODEL_NAME_FOR_TEST` (8B) | `register_cuda_ci` | `base-b-test-1-gpu-large` | | **Bigger features** (spec, DP, TP, disaggregation) | Case by case | Case by case | See suite table below | **Key principle for E2E tests**: Do NOT add `register_amd_ci` unless the test specifically exercises AMD/ROCm code paths. Common E2E tests just need any GPU to run — duplicating across backends wastes CI time with no extra coverage. @@ -50,7 +50,7 @@ Defined in `python/sglang/test/test_utils.py`: ### Naming Conventions -- **Suite**: `stage-{a,b,c}-test-{gpu_count}-gpu-{hardware}` (e.g., `stage-b-test-1-gpu-small`) +- **Suite**: `base-{a,b,c}-test-{gpu_count}-gpu-{hardware}` (e.g., `base-b-test-1-gpu-small`) - **CI runner**: `{gpu_count}-gpu-{hardware}` (e.g., `1-gpu-5090`, `4-gpu-h100`, `8-gpu-h200`) ### All CI Suites @@ -59,25 +59,24 @@ Defined in `python/sglang/test/test_utils.py`: | Suite | Runner (label) | Description | |-------|----------------|-------------| -| `stage-a-test-1-gpu-small` | `1-gpu-5090` | Quick checks on a small NVIDIA GPU before heavier stages | -| `stage-a-test-cpu` | `ubuntu-latest` | CPU-only unit tests | -| `stage-b-test-1-gpu-small` | `1-gpu-5090` | Core engine tests that fit a 5090-class card | -| `stage-b-test-1-gpu-large` | `1-gpu-h100` | Tests that need H100-class memory or kernels (e.g. FA3) | -| `stage-b-test-2-gpu-large` | `2-gpu-h100` | Two-GPU correctness and parallelism (TP/PP) on H100 | -| `stage-b-test-4-gpu-b200` | `4-gpu-b200` | Early Blackwell coverage (SM100+ paths) on four GPUs | -| `stage-b-kernel-unit-1-gpu-large` | `1-gpu-h100` | JIT kernel correctness tests under `python/sglang/jit_kernel/tests/` | -| `stage-b-kernel-unit-1-gpu-b200` | `4-gpu-b200` | JIT kernel correctness tests for Blackwell / SM100-specific paths | -| `stage-b-kernel-unit-8-gpu-h200` | `8-gpu-h200` | Multi-GPU JIT kernel correctness tests under `python/sglang/jit_kernel/tests/` | -| `stage-b-kernel-benchmark-1-gpu-large` | `1-gpu-h100` | JIT kernel benchmark files under `python/sglang/jit_kernel/benchmark/` | -| `stage-c-test-4-gpu-h100` | `4-gpu-h100` | Large 4-GPU H100 integration and scaling tests | -| `stage-c-test-8-gpu-h200` | `8-gpu-h200` | Large 8-GPU H200 runs for big models and parallelism | -| `stage-c-test-8-gpu-h20` | `8-gpu-h20` | Large 8-GPU H20 runs for big models | -| `stage-c-test-deepep-4-gpu-h100` | `4-gpu-h100` | DeepEP expert-parallel and networking on four H100s | -| `stage-c-test-deepep-8-gpu-h200` | `8-gpu-h200` | DeepEP at 8-GPU H200 scale | -| `stage-c-test-8-gpu-b200` | `8-gpu-b200` | 8-GPU B200 suite (registered but not yet wired to a workflow) | -| `stage-c-test-4-gpu-b200` | `4-gpu-b200` | 4-GPU B200 suite for large models on Blackwell | -| `stage-c-test-4-gpu-b200-small` | `4-gpu-b200` | Smaller 4-GPU B200 suite split onto low-disk B200 runners | -| `stage-c-test-4-gpu-gb200` | `4-gpu-gb200` | 4-GPU GB200 suite for Grace Blackwell; registered in `run_suite.py`, but the PR workflow is currently disabled until a runner is provisioned | +| `base-a-test-1-gpu-small` | `1-gpu-5090` | Quick checks on a small NVIDIA GPU before heavier stages | +| `base-a-test-cpu` | `ubuntu-latest` | CPU-only unit tests | +| `base-b-test-1-gpu-small` | `1-gpu-5090` | Core engine tests that fit a 5090-class card | +| `base-b-test-1-gpu-large` | `1-gpu-h100` | Tests that need H100-class memory or kernels (e.g. FA3) | +| `base-b-test-2-gpu-large` | `2-gpu-h100` | Two-GPU correctness and parallelism (TP/PP) on H100 | +| `base-b-test-4-gpu-b200` | `4-gpu-b200` | Early Blackwell coverage (SM100+ paths) on four GPUs | +| `base-b-kernel-unit-1-gpu-large` | `1-gpu-h100` | JIT kernel correctness tests under `python/sglang/jit_kernel/tests/` | +| `base-b-kernel-unit-1-gpu-b200` | `4-gpu-b200` | JIT kernel correctness tests for Blackwell / SM100-specific paths | +| `base-b-kernel-unit-8-gpu-h200` | `8-gpu-h200` | Multi-GPU JIT kernel correctness tests under `python/sglang/jit_kernel/tests/` | +| `base-b-kernel-benchmark-1-gpu-large` | `1-gpu-h100` | JIT kernel benchmark files under `python/sglang/jit_kernel/benchmark/` | +| `base-c-test-4-gpu-h100` | `4-gpu-h100` | Large 4-GPU H100 integration and scaling tests | +| `base-c-test-8-gpu-h200` | `8-gpu-h200` | Large 8-GPU H200 runs for big models and parallelism | +| `base-c-test-8-gpu-h20` | `8-gpu-h20` | Large 8-GPU H20 runs for big models | +| `base-c-test-deepep-4-gpu-h100` | `4-gpu-h100` | DeepEP expert-parallel and networking on four H100s | +| `base-c-test-8-gpu-b200` | `8-gpu-b200` | 8-GPU B200 suite (registered but not yet wired to a workflow) | +| `base-c-test-4-gpu-b200` | `4-gpu-b200` | 4-GPU B200 suite for large models on Blackwell | +| `base-c-test-4-gpu-b200-small` | `4-gpu-b200` | Smaller 4-GPU B200 suite split onto low-disk B200 runners | +| `base-c-test-4-gpu-gb200` | `4-gpu-gb200` | 4-GPU GB200 suite for Grace Blackwell; registered in `run_suite.py`, but the PR workflow is currently disabled until a runner is provisioned | #### Per-commit (AMD) @@ -130,12 +129,12 @@ Nightly suites are listed in `NIGHTLY_SUITES` in [`test/run_suite.py`](../../../ Use the lightest suite that meets your test's needs: -- **No GPU required** → `stage-a-test-cpu` -- **Most small GPU tests** → `stage-b-test-1-gpu-small` (default choice) -- **Need H100 memory or Hopper features** → `stage-b-test-1-gpu-large` -- **JIT kernel correctness** → `stage-b-kernel-unit-1-gpu-large` -- **JIT kernel correctness for B200 / SM100 paths** → `stage-b-kernel-unit-1-gpu-b200` -- **JIT kernel benchmarks** → `stage-b-kernel-benchmark-1-gpu-large` +- **No GPU required** → `base-a-test-cpu` +- **Most small GPU tests** → `base-b-test-1-gpu-small` (default choice) +- **Need H100 memory or Hopper features** → `base-b-test-1-gpu-large` +- **JIT kernel correctness** → `base-b-kernel-unit-1-gpu-large` +- **JIT kernel correctness for B200 / SM100 paths** → `base-b-kernel-unit-1-gpu-b200` +- **JIT kernel benchmarks** → `base-b-kernel-benchmark-1-gpu-large` - **Multi-GPU** → only when the test actually needs multiple GPUs --- @@ -156,7 +155,7 @@ from sglang.srt. import TargetClass from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") # Prefer CPU. Only use register_cuda_ci when the test truly needs a GPU. class TestTargetClass(CustomTestCase): @@ -196,7 +195,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=60, suite="stage-b-test-1-gpu-small") +register_cuda_ci(est_time=60, suite="base-b-test-1-gpu-small") class TestMyFeature(CustomTestCase): @@ -246,7 +245,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=300, suite="stage-b-test-1-gpu-large") +register_cuda_ci(est_time=300, suite="base-b-test-1-gpu-large") class TestMyFeaturePerf(CustomTestCase): @@ -321,21 +320,21 @@ from sglang.test.ci.ci_register import ( ) # Per-commit test (small 1-gpu, runs on 5090) -register_cuda_ci(est_time=80, suite="stage-b-test-1-gpu-small") +register_cuda_ci(est_time=80, suite="base-b-test-1-gpu-small") # Per-commit test (large 1-gpu, runs on H100) -register_cuda_ci(est_time=120, suite="stage-b-test-1-gpu-large") +register_cuda_ci(est_time=120, suite="base-b-test-1-gpu-large") # Nightly-only test register_cuda_ci(est_time=200, suite="nightly-1-gpu", nightly=True) # Multi-backend test (only when testing backend-specific code paths) -register_cuda_ci(est_time=80, suite="stage-a-test-1-gpu-small") +register_cuda_ci(est_time=80, suite="base-a-test-1-gpu-small") register_amd_ci(est_time=120, suite="stage-a-test-1-gpu-small-amd") register_npu_ci(est_time=400, suite="nightly-8-npu-a3", nightly=True) # Temporarily disabled test -register_cuda_ci(est_time=80, suite="stage-b-test-1-gpu-small", disabled="flaky - see #12345") +register_cuda_ci(est_time=80, suite="base-b-test-1-gpu-small", disabled="flaky - see #12345") ``` Parameters: @@ -354,12 +353,12 @@ JIT kernel files live outside `test/registered/` but still use registration: from sglang.test.ci.ci_register import register_cuda_ci # Correctness tests in python/sglang/jit_kernel/tests/ -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-b200") -register_cuda_ci(est_time=120, suite="stage-b-kernel-unit-8-gpu-h200") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-b200") +register_cuda_ci(est_time=120, suite="base-b-kernel-unit-8-gpu-h200") # Benchmarks in python/sglang/jit_kernel/benchmark/ -register_cuda_ci(est_time=6, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-benchmark-1-gpu-large") # Optional nightly registration register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/.github/actions/check-stage-health/action.yml b/.github/actions/check-pr-test-health/action.yml similarity index 89% rename from .github/actions/check-stage-health/action.yml rename to .github/actions/check-pr-test-health/action.yml index af5dc376d..d919373ef 100644 --- a/.github/actions/check-stage-health/action.yml +++ b/.github/actions/check-pr-test-health/action.yml @@ -1,4 +1,4 @@ -name: Check Stage Health +name: Check PR Test Health description: Fail fast if any job in the current workflow run has already failed, or if the lint check (from lint.yml) has failed. Auto-skips for scheduled runs. The jobs-failed check (but not the lint check) is bypassed when the PR carries the `bypass-fastfail` label. inputs: @@ -10,16 +10,16 @@ inputs: runs: using: composite steps: - - name: Check stage health + - name: Check PR test health uses: actions/github-script@v7 env: - SKIP_STAGE_HEALTH_CHECK: ${{ env.SKIP_STAGE_HEALTH_CHECK }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ env.SKIP_PR_TEST_HEALTH_CHECK }} with: github-token: ${{ inputs.github-token }} script: | // Skip when explicitly requested via env var (e.g. release branch cut) - if (process.env.SKIP_STAGE_HEALTH_CHECK === 'true') { - core.info('Skipping health check (SKIP_STAGE_HEALTH_CHECK=true)'); + if (process.env.SKIP_PR_TEST_HEALTH_CHECK === 'true') { + core.info('Skipping health check (SKIP_PR_TEST_HEALTH_CHECK=true)'); return; } @@ -83,12 +83,12 @@ runs: // match so we cover both inline + reusable forms without confusing // 'h20' with the 'h200' prefix. const baseName = j.name.split(/[ /]/)[0]; - if (baseName === 'stage-c-test-8-gpu-h20') { + if (baseName === 'base-c-test-8-gpu-h20') { return false; } // If the failing step is the health check, it's a cascade — skip it const failedStep = (j.steps || []).find(s => s.conclusion === 'failure'); - if (failedStep && (failedStep.name.includes('check-stage-health') || failedStep.name.includes('Check stage health'))) { + if (failedStep && (failedStep.name.includes('check-pr-test-health') || failedStep.name.includes('Check PR test health'))) { return false; } return true; diff --git a/.github/actions/wait-for-jobs/action.yml b/.github/actions/wait-for-jobs/action.yml index 240deb0c4..609853713 100644 --- a/.github/actions/wait-for-jobs/action.yml +++ b/.github/actions/wait-for-jobs/action.yml @@ -3,12 +3,12 @@ description: Poll and wait for specified jobs in the current workflow run to com inputs: stage-name: - description: 'Human-readable stage name for log messages (e.g. "stage-a")' + description: 'Human-readable stage name for log messages (e.g. "base-a")' required: true jobs: description: | JSON array of job specs to wait for. Each element is either: - - a string: exact job name (e.g. "stage-a-test-1-gpu-small") + - a string: exact job name (e.g. "base-a-test-1-gpu-small") - an object { "prefix": "...", "expected_count": N }: for matrix jobs required: true max-wait-minutes: diff --git a/.github/workflows/_pr-test-sgl-kernel-build.yml b/.github/workflows/_pr-test-sgl-kernel-build.yml index e7b57d7ed..75981dc16 100644 --- a/.github/workflows/_pr-test-sgl-kernel-build.yml +++ b/.github/workflows/_pr-test-sgl-kernel-build.yml @@ -24,7 +24,7 @@ on: git_ref: type: string default: '' - skip_stage_health_check: + skip_pr_test_health_check: description: 'Forwarded from the caller workflow input of the same name. Not consumed inside this reusable workflow today, but mirrored so the resulting env context matches the inline-job baseline.' type: boolean default: false @@ -39,7 +39,7 @@ env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" SGLANG_JIT_DEEPGEMM_FAST_WARMUP: true - SKIP_STAGE_HEALTH_CHECK: ${{ inputs.skip_stage_health_check && 'true' || 'false' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ inputs.skip_pr_test_health_check && 'true' || 'false' }} FORCE_REBUILD_DEEPEP: '1' PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }} USE_VENV: false diff --git a/.github/workflows/_pr-test-stage.yml b/.github/workflows/_pr-test-stage.yml index 90f606658..e544224d6 100644 --- a/.github/workflows/_pr-test-stage.yml +++ b/.github/workflows/_pr-test-stage.yml @@ -4,7 +4,7 @@ name: PR Test Stage # `caller_inputs` = toJson(inputs) as bundles. `partitions` is forwarded # separately to keep matrix expressions single-fromJson — its value is itself # a JSON string, so reading it via `check_changes` would need double fromJson, -# and matrix can't use step-resolved values. stage-a-test-cpu stays inline in +# and matrix can't use step-resolved values. base-a-test-cpu stays inline in # pr-test.yml (bespoke uv pip / protoc / rust-cache install). on: @@ -23,7 +23,7 @@ on: type: string required: true caller_inputs: - description: 'toJson(inputs) from pr-test.yml. Read via fromJson(...).git_ref / skip_stage_health_check / test_parallel_dispatch.' + description: 'toJson(inputs) from pr-test.yml. Read via fromJson(...).git_ref / skip_pr_test_health_check / test_parallel_dispatch.' type: string required: true partitions: @@ -62,7 +62,7 @@ env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" SGLANG_JIT_DEEPGEMM_FAST_WARMUP: true - SKIP_STAGE_HEALTH_CHECK: ${{ fromJson(inputs.caller_inputs).skip_stage_health_check && 'true' || 'false' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ fromJson(inputs.caller_inputs).skip_pr_test_health_check && 'true' || 'false' }} FORCE_REBUILD_DEEPEP: '1' PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }} USE_VENV: false @@ -97,7 +97,7 @@ jobs: - name: Export rdma_devices to job env run: echo "SGLANG_CI_RDMA_ALL_DEVICES=${{ steps.rc.outputs.rdma_devices || '' }}" >> "$GITHUB_ENV" - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance diff --git a/.github/workflows/ci-auto-bisect.yml b/.github/workflows/ci-auto-bisect.yml index 3c77b5f1e..6de26745f 100644 --- a/.github/workflows/ci-auto-bisect.yml +++ b/.github/workflows/ci-auto-bisect.yml @@ -2,7 +2,7 @@ name: CI Auto Bisect on: workflow_run: - workflows: ["PR Test"] + workflows: ["PR Test Base"] types: [completed] branches: [main] workflow_dispatch: {} diff --git a/.github/workflows/pr-states.yml b/.github/workflows/pr-states.yml index 2227237f3..dffc21453 100644 --- a/.github/workflows/pr-states.yml +++ b/.github/workflows/pr-states.yml @@ -85,7 +85,7 @@ jobs: '---', '### CI States', '', - `Latest PR Test: ${ptStart}${ptText}${ptEnd}`, + `Latest PR Test (Base): ${ptStart}${ptText}${ptEnd}`, `Latest PR Test (Extra): ${peStart}${peText}${peEnd}`, outerEnd, ].join('\n'); diff --git a/.github/workflows/pr-test-extra.yml b/.github/workflows/pr-test-extra.yml index 12212f894..8b8aa4bd7 100644 --- a/.github/workflows/pr-test-extra.yml +++ b/.github/workflows/pr-test-extra.yml @@ -36,8 +36,8 @@ on: required: false type: boolean default: false - skip_stage_health_check: - description: "Skip stage health check fast-fail (e.g. for release branch cuts)" + skip_pr_test_health_check: + description: "Skip PR test health check fast-fail (e.g. for release branch cuts)" required: false type: boolean default: false @@ -50,7 +50,7 @@ env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" SGLANG_JIT_DEEPGEMM_FAST_WARMUP: true - SKIP_STAGE_HEALTH_CHECK: ${{ (inputs.skip_stage_health_check == true || inputs.run_all_tests == true) && 'true' || 'false' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ (inputs.skip_pr_test_health_check == true || inputs.run_all_tests == true) && 'true' || 'false' }} FORCE_REBUILD_DEEPEP: '1' PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }} USE_VENV: false @@ -96,7 +96,7 @@ jobs: runs_on: x64-kernel-build-node job_display_name: Build Wheel git_ref: ${{ inputs.git_ref || '' }} - skip_stage_health_check: ${{ inputs.skip_stage_health_check == true }} + skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }} secrets: inherit # =============================================== extra-a (1-/2-gpu) =============================================== diff --git a/.github/workflows/pr-test-jit-kernel.yml b/.github/workflows/pr-test-jit-kernel.yml index 9e3e597aa..d14c4fc3b 100644 --- a/.github/workflows/pr-test-jit-kernel.yml +++ b/.github/workflows/pr-test-jit-kernel.yml @@ -23,7 +23,7 @@ on: required: false type: string default: 'false' - skip_stage_health_check: + skip_pr_test_health_check: required: false type: boolean default: false @@ -35,7 +35,7 @@ env: SGLANG_CUDA_COREDUMP: "1" SGLANG_JIT_DEEPGEMM_FAST_WARMUP: true PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }} - SKIP_STAGE_HEALTH_CHECK: ${{ inputs.skip_stage_health_check == true && 'true' || 'false' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ inputs.skip_pr_test_health_check == true && 'true' || 'false' }} jobs: jit-kernel-unit-test: @@ -49,7 +49,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -76,7 +76,7 @@ jobs: timeout-minutes: 30 run: | cd test/ - python3 run_suite.py --hw cuda --suite stage-b-kernel-unit-1-gpu-large + python3 run_suite.py --hw cuda --suite base-b-kernel-unit-1-gpu-large jit-kernel-multigpu-unit-test: if: | @@ -114,7 +114,7 @@ jobs: timeout-minutes: 45 run: | cd test/ - python3 run_suite.py --hw cuda --suite stage-b-kernel-unit-8-gpu-h200 + python3 run_suite.py --hw cuda --suite base-b-kernel-unit-8-gpu-h200 jit-kernel-benchmark-test: if: | @@ -127,7 +127,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -154,7 +154,7 @@ jobs: timeout-minutes: 45 run: | cd test/ - python3 run_suite.py --hw cuda --suite stage-b-kernel-benchmark-1-gpu-large + python3 run_suite.py --hw cuda --suite base-b-kernel-benchmark-1-gpu-large jit-kernel-b200-test: if: | @@ -167,7 +167,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -194,4 +194,4 @@ jobs: timeout-minutes: 30 run: | cd test/ - python3 run_suite.py --hw cuda --suite stage-b-kernel-unit-1-gpu-b200 + python3 run_suite.py --hw cuda --suite base-b-kernel-unit-1-gpu-b200 diff --git a/.github/workflows/pr-test-multimodal-gen.yml b/.github/workflows/pr-test-multimodal-gen.yml index 4ebdb2cd4..b5cf56347 100644 --- a/.github/workflows/pr-test-multimodal-gen.yml +++ b/.github/workflows/pr-test-multimodal-gen.yml @@ -31,7 +31,7 @@ on: required: false type: string default: 'false' - skip_stage_health_check: + skip_pr_test_health_check: required: false type: string default: 'false' @@ -42,7 +42,7 @@ env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }} - SKIP_STAGE_HEALTH_CHECK: ${{ inputs.skip_stage_health_check == 'true' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ inputs.skip_pr_test_health_check == 'true' }} jobs: compute-diffusion-partitions: @@ -90,7 +90,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -163,7 +163,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -230,7 +230,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -275,7 +275,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -327,7 +327,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance diff --git a/.github/workflows/pr-test-sgl-kernel.yml b/.github/workflows/pr-test-sgl-kernel.yml index af1552954..272b0951f 100644 --- a/.github/workflows/pr-test-sgl-kernel.yml +++ b/.github/workflows/pr-test-sgl-kernel.yml @@ -16,7 +16,7 @@ on: required: false type: string default: '' - skip_stage_health_check: + skip_pr_test_health_check: required: false type: boolean default: false @@ -27,7 +27,7 @@ env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" PR_TEST_BYPASS_MAINTENANCE_ON_MAIN: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }} - SKIP_STAGE_HEALTH_CHECK: ${{ inputs.skip_stage_health_check == true && 'true' || 'false' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ inputs.skip_pr_test_health_check == true && 'true' || 'false' }} jobs: sgl-kernel-unit-test: @@ -38,7 +38,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -73,7 +73,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -120,7 +120,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance diff --git a/.github/workflows/pr-test-xeon.yml b/.github/workflows/pr-test-xeon.yml index abaa9401d..3c7ae2bf4 100644 --- a/.github/workflows/pr-test-xeon.yml +++ b/.github/workflows/pr-test-xeon.yml @@ -115,7 +115,7 @@ jobs: timeout-minutes: 36 run: | docker exec -w /sglang-checkout/ ci_sglang_xeon \ - bash -c "source /opt/.venv/bin/activate && cd ./test && python3 run_suite.py --hw cpu --suite stage-b-test-cpu" + bash -c "source /opt/.venv/bin/activate && cd ./test && python3 run_suite.py --hw cpu --suite base-b-test-cpu" - name: Change permission timeout-minutes: 2 diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index d5f4d824c..0d9b81712 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -1,4 +1,4 @@ -name: PR Test +name: PR Test Base on: schedule: @@ -34,8 +34,8 @@ on: required: false type: boolean default: false - skip_stage_health_check: - description: "Skip stage health check fast-fail (e.g. for release branch cuts)" + skip_pr_test_health_check: + description: "Skip PR test health check fast-fail (e.g. for release branch cuts)" required: false type: boolean default: false @@ -52,7 +52,7 @@ env: SGLANG_IS_IN_CI: true SGLANG_CUDA_COREDUMP: "1" SGLANG_JIT_DEEPGEMM_FAST_WARMUP: true - SKIP_STAGE_HEALTH_CHECK: ${{ (inputs.skip_stage_health_check == true || inputs.test_parallel_dispatch == true || inputs.run_all_tests == true) && 'true' || 'false' }} + SKIP_PR_TEST_HEALTH_CHECK: ${{ (inputs.skip_pr_test_health_check == true || inputs.test_parallel_dispatch == true || inputs.run_all_tests == true) && 'true' || 'false' }} # TEMP: rebuild deepep against the new torch for torch-211-merge PR only — revert before merging to main. FORCE_REBUILD_DEEPEP: '1' # Schedule / main-branch dispatch / workflow_call from main use refs/heads/main; PR events use refs/pull/*/merge @@ -89,7 +89,7 @@ jobs: # For PRs with the `bypass-fastfail` label: wait jobs run but return success immediately # (handled inside the wait-for-jobs action), so downstream stages dispatch in parallel. - wait-for-stage-a: + wait-for-base-a: needs: [check-changes, call-gate] if: | always() && @@ -100,7 +100,7 @@ jobs: (needs.call-gate.result == 'success' || needs.call-gate.result == 'skipped') runs-on: ubuntu-latest outputs: - stage_a_result: ${{ steps.wait.outputs.result }} + base_a_result: ${{ steps.wait.outputs.result }} steps: - uses: actions/checkout@v4 @@ -109,27 +109,27 @@ jobs: - uses: ./.github/actions/wait-for-jobs id: wait with: - stage-name: stage-a + stage-name: base-a jobs: | [ - {"prefix": "stage-a-test-1-gpu-small", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['stage-a-test-1-gpu-small'].size }}}, - {"prefix": "stage-a-test-cpu", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['stage-a-test-cpu'].size }}} + {"prefix": "base-a-test-1-gpu-small", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['base-a-test-1-gpu-small'].size }}}, + {"prefix": "base-a-test-cpu", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['base-a-test-cpu'].size }}} ] max-wait-minutes: '240' - wait-for-stage-b: - needs: [check-changes, call-gate, wait-for-stage-a] + wait-for-base-b: + needs: [check-changes, call-gate, wait-for-base-a] if: | always() && !cancelled() && github.event_name == 'pull_request' && inputs.test_parallel_dispatch != true && (needs.check-changes.outputs.main_package == 'true' || needs.check-changes.outputs.sgl_kernel == 'true') && - (needs.wait-for-stage-a.result == 'success' || needs.wait-for-stage-a.result == 'skipped') && + (needs.wait-for-base-a.result == 'success' || needs.wait-for-base-a.result == 'skipped') && (needs.call-gate.result == 'success' || needs.call-gate.result == 'skipped') runs-on: ubuntu-latest outputs: - stage_b_result: ${{ steps.wait.outputs.result }} + base_b_result: ${{ steps.wait.outputs.result }} steps: - uses: actions/checkout@v4 @@ -138,13 +138,13 @@ jobs: - uses: ./.github/actions/wait-for-jobs id: wait with: - stage-name: stage-b + stage-name: base-b jobs: | [ - {"prefix": "stage-b-test-1-gpu-small", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['stage-b-test-1-gpu-small'].size }}}, - {"prefix": "stage-b-test-1-gpu-large", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['stage-b-test-1-gpu-large'].size }}}, - {"prefix": "stage-b-test-2-gpu-large", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['stage-b-test-2-gpu-large'].size }}}, - {"prefix": "stage-b-test-4-gpu-b200", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['stage-b-test-4-gpu-b200'].size }}} + {"prefix": "base-b-test-1-gpu-small", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['base-b-test-1-gpu-small'].size }}}, + {"prefix": "base-b-test-1-gpu-large", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['base-b-test-1-gpu-large'].size }}}, + {"prefix": "base-b-test-2-gpu-large", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['base-b-test-2-gpu-large'].size }}}, + {"prefix": "base-b-test-4-gpu-b200", "expected_count": ${{ fromJson(needs.check-changes.outputs.partitions)['base-b-test-4-gpu-b200'].size }}} ] max-wait-minutes: '480' @@ -180,7 +180,7 @@ jobs: runs_on: x64-kernel-build-node job_display_name: Build Wheel git_ref: ${{ inputs.git_ref || '' }} - skip_stage_health_check: ${{ inputs.skip_stage_health_check == true }} + skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }} secrets: inherit sgl-kernel-build-wheels-arm: @@ -198,7 +198,7 @@ jobs: job_display_name: Build Wheel Arm arch_suffix: '-aarch64' git_ref: ${{ inputs.git_ref || '' }} - skip_stage_health_check: ${{ inputs.skip_stage_health_check == true }} + skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }} secrets: inherit call-sgl-kernel-tests: @@ -213,7 +213,7 @@ jobs: runs_on_map: ${{ needs.check-changes.outputs.runs_on_map }} sgl_kernel: ${{ needs.check-changes.outputs.sgl_kernel }} git_ref: ${{ inputs.git_ref || '' }} - skip_stage_health_check: ${{ inputs.skip_stage_health_check == true }} + skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }} secrets: inherit # =============================================== jit-kernel ==================================================== @@ -234,18 +234,18 @@ jobs: sgl_kernel: ${{ needs.check-changes.outputs.sgl_kernel }} git_ref: ${{ inputs.git_ref || '' }} test_parallel_dispatch: ${{ inputs.test_parallel_dispatch == true && 'true' || 'false' }} - skip_stage_health_check: ${{ inputs.skip_stage_health_check == true }} + skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }} secrets: inherit # =============================================== primary ==================================================== # Runs on 5090 (32GB, SM120) - stage-a-test-1-gpu-small: + base-a-test-1-gpu-small: needs: [check-changes, call-gate, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-a-test-1-gpu-small + self_name: base-a-test-1-gpu-small runner_config: 1-gpu-small check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -253,7 +253,7 @@ jobs: run_timeout_minutes: '10' secrets: inherit - stage-a-test-cpu: + base-a-test-cpu: needs: [check-changes, call-gate] if: | always() && @@ -263,9 +263,9 @@ jobs: timeout-minutes: 240 strategy: fail-fast: false - max-parallel: ${{ fromJson(needs.check-changes.outputs.partitions)['stage-a-test-cpu'].max_parallel }} + max-parallel: ${{ fromJson(needs.check-changes.outputs.partitions)['base-a-test-cpu'].max_parallel }} matrix: - partition: ${{ fromJson(needs.check-changes.outputs.partitions)['stage-a-test-cpu'].arr }} + partition: ${{ fromJson(needs.check-changes.outputs.partitions)['base-a-test-cpu'].arr }} steps: - name: Free disk space run: | @@ -277,7 +277,7 @@ jobs: with: ref: ${{ inputs.git_ref || github.sha }} - - uses: ./.github/actions/check-stage-health + - uses: ./.github/actions/check-pr-test-health - uses: ./.github/actions/check-maintenance @@ -316,15 +316,15 @@ jobs: CONTINUE_ON_ERROR_FLAG: ${{ needs.check-changes.outputs.continue_on_error == 'true' && '--continue-on-error' || '' }} run: | cd test/ - python3 run_suite.py --hw cpu --suite stage-a-test-cpu --auto-partition-id ${{ matrix.partition }} --auto-partition-size ${{ fromJson(needs.check-changes.outputs.partitions)['stage-a-test-cpu'].size }} $CONTINUE_ON_ERROR_FLAG + python3 run_suite.py --hw cpu --suite base-a-test-cpu --auto-partition-id ${{ matrix.partition }} --auto-partition-size ${{ fromJson(needs.check-changes.outputs.partitions)['base-a-test-cpu'].size }} $CONTINUE_ON_ERROR_FLAG # Runs on 5090 (32GB, SM120) - stage-b-test-1-gpu-small: - needs: [check-changes, call-gate, wait-for-stage-a, sgl-kernel-build-wheels] + base-b-test-1-gpu-small: + needs: [check-changes, call-gate, wait-for-base-a, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-b-test-1-gpu-small + self_name: base-b-test-1-gpu-small runner_config: 1-gpu-small check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -333,12 +333,12 @@ jobs: secrets: inherit # Runs on H100 (80GB, SM90) - tests that don't pass on 5090 (FA3, FP8, high VRAM, etc.) - stage-b-test-1-gpu-large: - needs: [check-changes, call-gate, wait-for-stage-a, sgl-kernel-build-wheels] + base-b-test-1-gpu-large: + needs: [check-changes, call-gate, wait-for-base-a, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-b-test-1-gpu-large + self_name: base-b-test-1-gpu-large runner_config: 1-gpu-large check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -347,12 +347,12 @@ jobs: timeout_per_file: '1800' secrets: inherit - stage-b-test-2-gpu-large: - needs: [check-changes, call-gate, wait-for-stage-a, sgl-kernel-build-wheels] + base-b-test-2-gpu-large: + needs: [check-changes, call-gate, wait-for-base-a, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-b-test-2-gpu-large + self_name: base-b-test-2-gpu-large runner_config: 2-gpu-large check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -360,12 +360,12 @@ jobs: run_timeout_minutes: '30' secrets: inherit - stage-b-test-4-gpu-b200: - needs: [check-changes, call-gate, wait-for-stage-a, sgl-kernel-build-wheels] + base-b-test-4-gpu-b200: + needs: [check-changes, call-gate, wait-for-base-a, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-b-test-4-gpu-b200 + self_name: base-b-test-4-gpu-b200 runner_config: 4-gpu-b200 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -391,15 +391,15 @@ jobs: git_ref: ${{ inputs.git_ref || '' }} test_parallel_dispatch: ${{ inputs.test_parallel_dispatch == true && 'true' || 'false' }} caller_needs_failure: ${{ (needs.call-gate.result == 'failure' || needs.sgl-kernel-build-wheels.result == 'failure' || needs.check-changes.result == 'failure') && 'true' || 'false' }} - skip_stage_health_check: ${{ inputs.skip_stage_health_check == true && 'true' || 'false' }} + skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true && 'true' || 'false' }} secrets: inherit - stage-c-test-4-gpu-h100: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-4-gpu-h100: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-4-gpu-h100 + self_name: base-c-test-4-gpu-h100 runner_config: 4-gpu-h100 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -407,12 +407,12 @@ jobs: run_timeout_minutes: '30' secrets: inherit - stage-c-test-8-gpu-h200: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-8-gpu-h200: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-8-gpu-h200 + self_name: base-c-test-8-gpu-h200 runner_config: 8-gpu-h200 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -427,12 +427,12 @@ jobs: warmup_timeout_minutes: '60' secrets: inherit - stage-c-test-8-gpu-h20: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-8-gpu-h20: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-8-gpu-h20 + self_name: base-c-test-8-gpu-h20 runner_config: 8-gpu-h20 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -440,12 +440,12 @@ jobs: run_timeout_minutes: '30' secrets: inherit - stage-c-test-deepep-4-gpu-h100: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-deepep-4-gpu-h100: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-deepep-4-gpu-h100 + self_name: base-c-test-deepep-4-gpu-h100 runner_config: deepep-4-gpu-h100 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -455,12 +455,12 @@ jobs: warmup_server_models: 'lmsys/sglang-ci-dsv3-test:4' secrets: inherit - stage-c-test-4-gpu-b200: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-4-gpu-b200: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-4-gpu-b200 + self_name: base-c-test-4-gpu-b200 runner_config: 4-gpu-b200 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -469,12 +469,12 @@ jobs: timeout_per_file: '1800' secrets: inherit - stage-c-test-dsv4-4-gpu-b200: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-dsv4-4-gpu-b200: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-dsv4-4-gpu-b200 + self_name: base-c-test-dsv4-4-gpu-b200 runner_config: dsv4-4-gpu-b200 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -483,12 +483,12 @@ jobs: timeout_per_file: '1800' secrets: inherit - stage-c-test-dsv4-8-gpu-h200: - needs: [check-changes, call-gate, wait-for-stage-b, sgl-kernel-build-wheels] + base-c-test-dsv4-8-gpu-h200: + needs: [check-changes, call-gate, wait-for-base-b, sgl-kernel-build-wheels] if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/_pr-test-stage.yml with: - self_name: stage-c-test-dsv4-8-gpu-h200 + self_name: base-c-test-dsv4-8-gpu-h200 runner_config: dsv4-8-gpu-h200 check_changes: ${{ toJson(needs.check-changes.outputs) }} caller_inputs: ${{ toJson(inputs) }} @@ -507,27 +507,27 @@ jobs: sgl-kernel-build-wheels-arm, call-sgl-kernel-tests, - wait-for-stage-a, - wait-for-stage-b, + wait-for-base-a, + wait-for-base-b, call-jit-kernel-tests, call-multimodal-gen-tests, - stage-a-test-1-gpu-small, - stage-a-test-cpu, - stage-b-test-1-gpu-small, - stage-b-test-1-gpu-large, - stage-b-test-2-gpu-large, - stage-b-test-4-gpu-b200, - stage-c-test-4-gpu-h100, - stage-c-test-8-gpu-h20, - stage-c-test-8-gpu-h200, - stage-c-test-deepep-4-gpu-h100, - stage-c-test-4-gpu-b200, - stage-c-test-dsv4-4-gpu-b200, - stage-c-test-dsv4-8-gpu-h200, - # stage-c-test-4-gpu-gb200, # Temporarily disabled — no GB200 runner + base-a-test-1-gpu-small, + base-a-test-cpu, + base-b-test-1-gpu-small, + base-b-test-1-gpu-large, + base-b-test-2-gpu-large, + base-b-test-4-gpu-b200, + base-c-test-4-gpu-h100, + base-c-test-8-gpu-h20, + base-c-test-8-gpu-h200, + base-c-test-deepep-4-gpu-h100, + base-c-test-4-gpu-b200, + base-c-test-dsv4-4-gpu-b200, + base-c-test-dsv4-8-gpu-h200, + # base-c-test-4-gpu-gb200, # Temporarily disabled — no GB200 runner ] if: always() runs-on: ubuntu-latest diff --git a/.github/workflows/release-branch-cut.yml b/.github/workflows/release-branch-cut.yml index a4ed645d5..2afd56043 100644 --- a/.github/workflows/release-branch-cut.yml +++ b/.github/workflows/release-branch-cut.yml @@ -151,7 +151,7 @@ jobs: with: git_ref: ${{ needs.cut-release-branch.outputs.branch_name }} run_all_tests: true - skip_stage_health_check: true + skip_pr_test_health_check: true secrets: inherit run-pr-tests-amd: diff --git a/python/sglang/jit_kernel/benchmark/bench_activation.py b/python/sglang/jit_kernel/benchmark/bench_activation.py index 3f0ba2f6c..1144026b9 100644 --- a/python/sglang/jit_kernel/benchmark/bench_activation.py +++ b/python/sglang/jit_kernel/benchmark/bench_activation.py @@ -19,7 +19,7 @@ from sglang.jit_kernel.benchmark.utils import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-benchmark-1-gpu-large") @torch.compile diff --git a/python/sglang/jit_kernel/benchmark/bench_awq_dequantize.py b/python/sglang/jit_kernel/benchmark/bench_awq_dequantize.py index 81422a597..85640b14c 100644 --- a/python/sglang/jit_kernel/benchmark/bench_awq_dequantize.py +++ b/python/sglang/jit_kernel/benchmark/bench_awq_dequantize.py @@ -9,7 +9,7 @@ from sglang.jit_kernel.benchmark.utils import run_benchmark from sglang.test.ci.ci_register import register_cuda_ci from sglang.utils import is_in_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") try: from sgl_kernel import awq_dequantize as aot_awq_dequantize diff --git a/python/sglang/jit_kernel/benchmark/bench_cast.py b/python/sglang/jit_kernel/benchmark/bench_cast.py index 97c71bcb0..4be874ce5 100644 --- a/python/sglang/jit_kernel/benchmark/bench_cast.py +++ b/python/sglang/jit_kernel/benchmark/bench_cast.py @@ -10,7 +10,7 @@ from sglang.jit_kernel.benchmark.utils import ( from sglang.jit_kernel.cast import downcast_fp8 as downcast_fp8_jit from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=10, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-benchmark-1-gpu-large") DEVICE = DEFAULT_DEVICE DTYPE = torch.bfloat16 diff --git a/python/sglang/jit_kernel/benchmark/bench_clamp_position.py b/python/sglang/jit_kernel/benchmark/bench_clamp_position.py index 8b33edc6b..dfbb5b1e4 100644 --- a/python/sglang/jit_kernel/benchmark/bench_clamp_position.py +++ b/python/sglang/jit_kernel/benchmark/bench_clamp_position.py @@ -13,7 +13,7 @@ from sglang.jit_kernel.clamp_position import clamp_position_cuda from sglang.srt.utils import get_compiler_backend from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=13, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=13, suite="base-b-kernel-benchmark-1-gpu-large") register_amd_ci(est_time=16, suite="jit-kernel-unit-test-amd") SIZE_LIST = get_benchmark_range( diff --git a/python/sglang/jit_kernel/benchmark/bench_concat_mla.py b/python/sglang/jit_kernel/benchmark/bench_concat_mla.py index 8129b7db1..0a0d98aa3 100644 --- a/python/sglang/jit_kernel/benchmark/bench_concat_mla.py +++ b/python/sglang/jit_kernel/benchmark/bench_concat_mla.py @@ -12,7 +12,7 @@ from sglang.jit_kernel.concat_mla import concat_mla_k as jit_k from sglang.test.ci.ci_register import register_cuda_ci from sglang.utils import is_in_ci -register_cuda_ci(est_time=6, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-benchmark-1-gpu-large") IS_CI = is_in_ci() diff --git a/python/sglang/jit_kernel/benchmark/bench_custom_all_reduce.py b/python/sglang/jit_kernel/benchmark/bench_custom_all_reduce.py index 4f36f1a48..79167e53b 100644 --- a/python/sglang/jit_kernel/benchmark/bench_custom_all_reduce.py +++ b/python/sglang/jit_kernel/benchmark/bench_custom_all_reduce.py @@ -26,7 +26,7 @@ from sglang.test.ci.ci_register import register_cuda_ci register_cuda_ci( est_time=120, - suite="stage-b-kernel-benchmark-1-gpu-large", + suite="base-b-kernel-benchmark-1-gpu-large", disabled="requires multi-GPU, self-skips in CI", ) diff --git a/python/sglang/jit_kernel/benchmark/bench_fused_qknorm_rope.py b/python/sglang/jit_kernel/benchmark/bench_fused_qknorm_rope.py index 905d41d5d..5ae05f78b 100644 --- a/python/sglang/jit_kernel/benchmark/bench_fused_qknorm_rope.py +++ b/python/sglang/jit_kernel/benchmark/bench_fused_qknorm_rope.py @@ -20,7 +20,7 @@ from sglang.jit_kernel.fused_qknorm_rope import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=6, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-benchmark-1-gpu-large") try: from sgl_kernel import fused_qk_norm_rope as fused_qk_norm_rope_aot diff --git a/python/sglang/jit_kernel/benchmark/bench_hadamard.py b/python/sglang/jit_kernel/benchmark/bench_hadamard.py index 3da9ec484..704107c2d 100644 --- a/python/sglang/jit_kernel/benchmark/bench_hadamard.py +++ b/python/sglang/jit_kernel/benchmark/bench_hadamard.py @@ -16,7 +16,7 @@ from sglang.jit_kernel.benchmark.utils import ( from sglang.jit_kernel.hadamard import hadamard_transform from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") # AOT kernel: might not be available in all environments. # This is used for performance baseline comparison. diff --git a/python/sglang/jit_kernel/benchmark/bench_hicache.py b/python/sglang/jit_kernel/benchmark/bench_hicache.py index d0e4a31aa..ba897fc12 100644 --- a/python/sglang/jit_kernel/benchmark/bench_hicache.py +++ b/python/sglang/jit_kernel/benchmark/bench_hicache.py @@ -33,7 +33,7 @@ from sglang.jit_kernel.hicache import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=29, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=29, suite="base-b-kernel-benchmark-1-gpu-large") DISABLE_TORCH = os.environ.get("DISABLE_TORCH", "0") == "1" PAGE_SIZE = 1 diff --git a/python/sglang/jit_kernel/benchmark/bench_hisparse.py b/python/sglang/jit_kernel/benchmark/bench_hisparse.py index 6eb5fb5f0..2fe0ef901 100644 --- a/python/sglang/jit_kernel/benchmark/bench_hisparse.py +++ b/python/sglang/jit_kernel/benchmark/bench_hisparse.py @@ -9,7 +9,7 @@ from sglang.jit_kernel.benchmark.utils import DEFAULT_DEVICE, DEFAULT_DTYPE from sglang.jit_kernel.hisparse import load_cache_to_device_buffer_mla from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=12, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=12, suite="base-b-kernel-benchmark-1-gpu-large") DEVICE = DEFAULT_DEVICE DTYPE = DEFAULT_DTYPE diff --git a/python/sglang/jit_kernel/benchmark/bench_mla_kv_pack_quantize_fp8.py b/python/sglang/jit_kernel/benchmark/bench_mla_kv_pack_quantize_fp8.py index a797e80ba..6d0f60b1c 100644 --- a/python/sglang/jit_kernel/benchmark/bench_mla_kv_pack_quantize_fp8.py +++ b/python/sglang/jit_kernel/benchmark/bench_mla_kv_pack_quantize_fp8.py @@ -20,7 +20,7 @@ from sglang.jit_kernel.mla_kv_pack_quantize_fp8 import ( from sglang.jit_kernel.utils import is_arch_support_pdl from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=15, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=15, suite="base-b-kernel-benchmark-1-gpu-large") @triton.jit diff --git a/python/sglang/jit_kernel/benchmark/bench_mxfp8_moe.py b/python/sglang/jit_kernel/benchmark/bench_mxfp8_moe.py index 11ae67904..a4215cc1b 100644 --- a/python/sglang/jit_kernel/benchmark/bench_mxfp8_moe.py +++ b/python/sglang/jit_kernel/benchmark/bench_mxfp8_moe.py @@ -13,7 +13,7 @@ from sglang.jit_kernel.mxfp8 import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") def is_sm100_supported(device=None) -> bool: diff --git a/python/sglang/jit_kernel/benchmark/bench_norm.py b/python/sglang/jit_kernel/benchmark/bench_norm.py index 345388ef7..6adc7ac64 100644 --- a/python/sglang/jit_kernel/benchmark/bench_norm.py +++ b/python/sglang/jit_kernel/benchmark/bench_norm.py @@ -11,7 +11,7 @@ from sglang.jit_kernel.norm import fused_add_rmsnorm as jit_fused_add_rmsnorm from sglang.jit_kernel.norm import rmsnorm as jit_rmsnorm from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-benchmark-1-gpu-large") DTYPE = torch.bfloat16 diff --git a/python/sglang/jit_kernel/benchmark/bench_nvfp4_blockwise_moe.py b/python/sglang/jit_kernel/benchmark/bench_nvfp4_blockwise_moe.py index 98da03e72..0a4a1431e 100644 --- a/python/sglang/jit_kernel/benchmark/bench_nvfp4_blockwise_moe.py +++ b/python/sglang/jit_kernel/benchmark/bench_nvfp4_blockwise_moe.py @@ -15,7 +15,7 @@ from sglang.jit_kernel.nvfp4 import ( from sglang.srt.utils import is_sm100_supported from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") FLOAT4_E2M1_MAX = 6.0 FLOAT8_E4M3_MAX = torch.finfo(torch.float8_e4m3fn).max diff --git a/python/sglang/jit_kernel/benchmark/bench_nvfp4_quant.py b/python/sglang/jit_kernel/benchmark/bench_nvfp4_quant.py index 2be07d3d6..5d516a9ee 100644 --- a/python/sglang/jit_kernel/benchmark/bench_nvfp4_quant.py +++ b/python/sglang/jit_kernel/benchmark/bench_nvfp4_quant.py @@ -10,7 +10,7 @@ from sglang.jit_kernel.nvfp4 import scaled_fp4_quant from sglang.srt.utils import is_sm100_supported from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") FLOAT4_E2M1_MAX = 6.0 FLOAT8_E4M3_MAX = torch.finfo(torch.float8_e4m3fn).max diff --git a/python/sglang/jit_kernel/benchmark/bench_nvfp4_scaled_mm.py b/python/sglang/jit_kernel/benchmark/bench_nvfp4_scaled_mm.py index 4278f0348..251840fe6 100644 --- a/python/sglang/jit_kernel/benchmark/bench_nvfp4_scaled_mm.py +++ b/python/sglang/jit_kernel/benchmark/bench_nvfp4_scaled_mm.py @@ -10,7 +10,7 @@ from sglang.jit_kernel.nvfp4 import cutlass_scaled_fp4_mm, scaled_fp4_quant from sglang.srt.utils import is_sm100_supported, is_sm120_supported from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") FLOAT4_E2M1_MAX = 6.0 FLOAT8_E4M3_MAX = torch.finfo(torch.float8_e4m3fn).max diff --git a/python/sglang/jit_kernel/benchmark/bench_per_tensor_quant_fp8.py b/python/sglang/jit_kernel/benchmark/bench_per_tensor_quant_fp8.py index a061639b8..e5c9f486b 100644 --- a/python/sglang/jit_kernel/benchmark/bench_per_tensor_quant_fp8.py +++ b/python/sglang/jit_kernel/benchmark/bench_per_tensor_quant_fp8.py @@ -8,7 +8,7 @@ from sglang.jit_kernel.benchmark.utils import get_benchmark_range, run_benchmark from sglang.jit_kernel.per_tensor_quant_fp8 import per_tensor_quant_fp8 from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") try: from vllm import _custom_ops as ops diff --git a/python/sglang/jit_kernel/benchmark/bench_per_token_group_quant_8bit.py b/python/sglang/jit_kernel/benchmark/bench_per_token_group_quant_8bit.py index a5a3c392b..549ab0fa5 100644 --- a/python/sglang/jit_kernel/benchmark/bench_per_token_group_quant_8bit.py +++ b/python/sglang/jit_kernel/benchmark/bench_per_token_group_quant_8bit.py @@ -20,7 +20,7 @@ from sglang.srt.utils.bench_utils import bench_kineto from sglang.test.ci.ci_register import register_cuda_ci from sglang.utils import is_in_ci -register_cuda_ci(est_time=13, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=13, suite="base-b-kernel-benchmark-1-gpu-large") IS_CI = is_in_ci() diff --git a/python/sglang/jit_kernel/benchmark/bench_qknorm.py b/python/sglang/jit_kernel/benchmark/bench_qknorm.py index e5458385c..e7c052ab1 100644 --- a/python/sglang/jit_kernel/benchmark/bench_qknorm.py +++ b/python/sglang/jit_kernel/benchmark/bench_qknorm.py @@ -15,7 +15,7 @@ from sglang.jit_kernel.norm import fused_inplace_qknorm from sglang.srt.utils import get_current_device_stream_fast from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=10, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-benchmark-1-gpu-large") alt_stream = torch.cuda.Stream() diff --git a/python/sglang/jit_kernel/benchmark/bench_qknorm_across_heads.py b/python/sglang/jit_kernel/benchmark/bench_qknorm_across_heads.py index 9bd05f7fc..f969db429 100644 --- a/python/sglang/jit_kernel/benchmark/bench_qknorm_across_heads.py +++ b/python/sglang/jit_kernel/benchmark/bench_qknorm_across_heads.py @@ -12,7 +12,7 @@ from sglang.srt.utils import get_current_device_stream_fast from sglang.test.ci.ci_register import register_cuda_ci from sglang.utils import is_in_ci -register_cuda_ci(est_time=12, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=12, suite="base-b-kernel-benchmark-1-gpu-large") IS_CI = is_in_ci() diff --git a/python/sglang/jit_kernel/benchmark/bench_renorm.py b/python/sglang/jit_kernel/benchmark/bench_renorm.py index f65a615ac..500c9b1b1 100644 --- a/python/sglang/jit_kernel/benchmark/bench_renorm.py +++ b/python/sglang/jit_kernel/benchmark/bench_renorm.py @@ -9,7 +9,7 @@ from sglang.jit_kernel.benchmark.utils import run_benchmark_no_cudagraph from sglang.test.ci.ci_register import register_cuda_ci from sglang.utils import is_in_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-benchmark-1-gpu-large") def torch_top_k_renorm_probs(probs, top_k): diff --git a/python/sglang/jit_kernel/benchmark/bench_resolve_future_token_ids.py b/python/sglang/jit_kernel/benchmark/bench_resolve_future_token_ids.py index 5551d2968..b0334c6d3 100644 --- a/python/sglang/jit_kernel/benchmark/bench_resolve_future_token_ids.py +++ b/python/sglang/jit_kernel/benchmark/bench_resolve_future_token_ids.py @@ -13,7 +13,7 @@ from sglang.jit_kernel.resolve_future_token_ids import resolve_future_token_ids_ from sglang.srt.utils import get_compiler_backend from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=10, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-benchmark-1-gpu-large") register_amd_ci(est_time=10, suite="jit-kernel-unit-test-amd") SIZE_LIST = get_benchmark_range( diff --git a/python/sglang/jit_kernel/benchmark/bench_rope.py b/python/sglang/jit_kernel/benchmark/bench_rope.py index afe591185..4d578c239 100644 --- a/python/sglang/jit_kernel/benchmark/bench_rope.py +++ b/python/sglang/jit_kernel/benchmark/bench_rope.py @@ -12,7 +12,7 @@ from sglang.jit_kernel.benchmark.utils import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=6, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-benchmark-1-gpu-large") MAX_SEQ_LEN = 131072 ROPE_BASE = 10000.0 diff --git a/python/sglang/jit_kernel/benchmark/bench_set_mla_kv_buffer.py b/python/sglang/jit_kernel/benchmark/bench_set_mla_kv_buffer.py index 1ec1e5d88..58a0d9d9a 100644 --- a/python/sglang/jit_kernel/benchmark/bench_set_mla_kv_buffer.py +++ b/python/sglang/jit_kernel/benchmark/bench_set_mla_kv_buffer.py @@ -26,7 +26,7 @@ from sglang.srt.mem_cache.utils import set_mla_kv_buffer_kernel as sglang_triton from sglang.srt.mem_cache.utils import set_mla_kv_buffer_triton as sglang_wrapper from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=9, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=9, suite="base-b-kernel-benchmark-1-gpu-large") def _triton_baseline(kv_buffer, loc, cache_k_nope, cache_k_rope): diff --git a/python/sglang/jit_kernel/benchmark/bench_store_cache.py b/python/sglang/jit_kernel/benchmark/bench_store_cache.py index f1399ff0e..7ce0544ad 100644 --- a/python/sglang/jit_kernel/benchmark/bench_store_cache.py +++ b/python/sglang/jit_kernel/benchmark/bench_store_cache.py @@ -14,7 +14,7 @@ from sglang.jit_kernel.benchmark.utils import ( from sglang.jit_kernel.kvcache import store_cache from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=9, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=9, suite="base-b-kernel-benchmark-1-gpu-large") def sglang_jit_store_cache( diff --git a/python/sglang/jit_kernel/benchmark/bench_tp_qknorm.py b/python/sglang/jit_kernel/benchmark/bench_tp_qknorm.py index d63545b10..b3f4d44cd 100644 --- a/python/sglang/jit_kernel/benchmark/bench_tp_qknorm.py +++ b/python/sglang/jit_kernel/benchmark/bench_tp_qknorm.py @@ -19,7 +19,7 @@ from sglang.test.ci.ci_register import register_cuda_ci register_cuda_ci( est_time=120, - suite="stage-b-kernel-benchmark-1-gpu-large", + suite="base-b-kernel-benchmark-1-gpu-large", disabled="requires multi-GPU, self-skips in CI", ) diff --git a/python/sglang/jit_kernel/benchmark/diffusion/bench_diffusion_nvfp4_scaled_mm.py b/python/sglang/jit_kernel/benchmark/diffusion/bench_diffusion_nvfp4_scaled_mm.py index b6eaaf1f6..35c727dec 100644 --- a/python/sglang/jit_kernel/benchmark/diffusion/bench_diffusion_nvfp4_scaled_mm.py +++ b/python/sglang/jit_kernel/benchmark/diffusion/bench_diffusion_nvfp4_scaled_mm.py @@ -17,7 +17,7 @@ from sglang.utils import is_in_ci register_cuda_ci( est_time=120, - suite="stage-b-kernel-benchmark-1-gpu-large", + suite="base-b-kernel-benchmark-1-gpu-large", disabled="standalone diffusion NVFP4 benchmark", ) diff --git a/python/sglang/jit_kernel/benchmark/diffusion/bench_fused_norm_scale_shift.py b/python/sglang/jit_kernel/benchmark/diffusion/bench_fused_norm_scale_shift.py index 759241a6d..07bf7926d 100644 --- a/python/sglang/jit_kernel/benchmark/diffusion/bench_fused_norm_scale_shift.py +++ b/python/sglang/jit_kernel/benchmark/diffusion/bench_fused_norm_scale_shift.py @@ -20,7 +20,7 @@ from sglang.utils import is_in_ci register_cuda_ci( est_time=17, - suite="stage-b-kernel-benchmark-1-gpu-large", + suite="base-b-kernel-benchmark-1-gpu-large", disabled="Temporarily skipped to unblock flashinfer upgrade. Ref: https://github.com/sgl-project/sglang/actions/runs/23735552939/job/69139238979?pr=21422", ) diff --git a/python/sglang/jit_kernel/benchmark/diffusion/bench_group_norm_silu.py b/python/sglang/jit_kernel/benchmark/diffusion/bench_group_norm_silu.py index 0bd48a307..4a6e0f4c6 100644 --- a/python/sglang/jit_kernel/benchmark/diffusion/bench_group_norm_silu.py +++ b/python/sglang/jit_kernel/benchmark/diffusion/bench_group_norm_silu.py @@ -16,7 +16,7 @@ from sglang.utils import is_in_ci register_cuda_ci( est_time=45, - suite="stage-b-kernel-benchmark-1-gpu-large", + suite="base-b-kernel-benchmark-1-gpu-large", disabled="standalone benchmark", ) diff --git a/python/sglang/jit_kernel/benchmark/diffusion/bench_norm_impls.py b/python/sglang/jit_kernel/benchmark/diffusion/bench_norm_impls.py index 557157f7f..7f0cb058d 100644 --- a/python/sglang/jit_kernel/benchmark/diffusion/bench_norm_impls.py +++ b/python/sglang/jit_kernel/benchmark/diffusion/bench_norm_impls.py @@ -24,7 +24,7 @@ from sglang.utils import is_in_ci register_cuda_ci( est_time=120, - suite="stage-b-kernel-benchmark-1-gpu-large", + suite="base-b-kernel-benchmark-1-gpu-large", disabled="self-skips in CI, standalone tool", ) diff --git a/python/sglang/jit_kernel/benchmark/diffusion/bench_qknorm_rope.py b/python/sglang/jit_kernel/benchmark/diffusion/bench_qknorm_rope.py index 8d60097bb..46cea6e8e 100644 --- a/python/sglang/jit_kernel/benchmark/diffusion/bench_qknorm_rope.py +++ b/python/sglang/jit_kernel/benchmark/diffusion/bench_qknorm_rope.py @@ -13,7 +13,7 @@ from sglang.jit_kernel.benchmark.utils import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=13, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=13, suite="base-b-kernel-benchmark-1-gpu-large") MAX_SEQ_LEN = 131072 ROPE_BASE = 10000.0 diff --git a/python/sglang/jit_kernel/benchmark/diffusion/bench_qwen_image_modulation.py b/python/sglang/jit_kernel/benchmark/diffusion/bench_qwen_image_modulation.py index c4713d56a..f87f3e3b3 100644 --- a/python/sglang/jit_kernel/benchmark/diffusion/bench_qwen_image_modulation.py +++ b/python/sglang/jit_kernel/benchmark/diffusion/bench_qwen_image_modulation.py @@ -12,7 +12,7 @@ from sglang.jit_kernel.diffusion.triton.scale_shift import ( from sglang.test.ci.ci_register import register_cuda_ci from sglang.utils import is_in_ci -register_cuda_ci(est_time=13, suite="stage-b-kernel-benchmark-1-gpu-large") +register_cuda_ci(est_time=13, suite="base-b-kernel-benchmark-1-gpu-large") if is_in_ci(): B_RANGE, S_RANGE, D_RANGE = [1], [128], [3072] diff --git a/python/sglang/jit_kernel/tests/deepseek_v4/test_c128_v2.py b/python/sglang/jit_kernel/tests/deepseek_v4/test_c128_v2.py index e17de0855..5ec3462c0 100644 --- a/python/sglang/jit_kernel/tests/deepseek_v4/test_c128_v2.py +++ b/python/sglang/jit_kernel/tests/deepseek_v4/test_c128_v2.py @@ -18,7 +18,7 @@ from sglang.jit_kernel.tests.deepseek_v4.common import ( to_seq_extend, ) -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=30, suite="nightly-kernel-1-gpu", nightly=True) Context = Union[LegacyContext, PagedContext] diff --git a/python/sglang/jit_kernel/tests/deepseek_v4/test_c4_v2.py b/python/sglang/jit_kernel/tests/deepseek_v4/test_c4_v2.py index 23a513da1..7f8e7c06d 100644 --- a/python/sglang/jit_kernel/tests/deepseek_v4/test_c4_v2.py +++ b/python/sglang/jit_kernel/tests/deepseek_v4/test_c4_v2.py @@ -18,7 +18,7 @@ from sglang.jit_kernel.tests.deepseek_v4.common import ( to_seq_extend, ) -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=30, suite="nightly-kernel-1-gpu", nightly=True) Context = Union[LegacyContext, PagedContext] diff --git a/python/sglang/jit_kernel/tests/diffusion/test_diffusion_modelopt_fp8_scaled_mm.py b/python/sglang/jit_kernel/tests/diffusion/test_diffusion_modelopt_fp8_scaled_mm.py index 573f80f8a..8ca94e371 100644 --- a/python/sglang/jit_kernel/tests/diffusion/test_diffusion_modelopt_fp8_scaled_mm.py +++ b/python/sglang/jit_kernel/tests/diffusion/test_diffusion_modelopt_fp8_scaled_mm.py @@ -14,7 +14,7 @@ from sglang.srt.layers.quantization.fp8_utils import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=20, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=20, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=80, suite="nightly-kernel-1-gpu", nightly=True) DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/diffusion/test_diffusion_nvfp4_scaled_mm.py b/python/sglang/jit_kernel/tests/diffusion/test_diffusion_nvfp4_scaled_mm.py index e2ead525a..2122601cb 100644 --- a/python/sglang/jit_kernel/tests/diffusion/test_diffusion_nvfp4_scaled_mm.py +++ b/python/sglang/jit_kernel/tests/diffusion/test_diffusion_nvfp4_scaled_mm.py @@ -17,7 +17,7 @@ from sglang.srt.layers.quantization.modelopt_quant import pad_nvfp4_weight from sglang.test.ci.ci_register import register_cuda_ci # B200-only correctness coverage for diffusion NVFP4 scaled mm. -register_cuda_ci(est_time=15, suite="stage-b-kernel-unit-1-gpu-b200") +register_cuda_ci(est_time=15, suite="base-b-kernel-unit-1-gpu-b200") DEVICE = "cuda" DTYPE = torch.bfloat16 diff --git a/python/sglang/jit_kernel/tests/diffusion/test_fused_norm_scale_shift.py b/python/sglang/jit_kernel/tests/diffusion/test_fused_norm_scale_shift.py index 87cf70a5b..9a0f87c23 100644 --- a/python/sglang/jit_kernel/tests/diffusion/test_fused_norm_scale_shift.py +++ b/python/sglang/jit_kernel/tests/diffusion/test_fused_norm_scale_shift.py @@ -13,7 +13,7 @@ from sglang.jit_kernel.diffusion.cutedsl.scale_residual_norm_scale_shift import ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=28, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=28, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/diffusion/test_group_norm_silu.py b/python/sglang/jit_kernel/tests/diffusion/test_group_norm_silu.py index c2bb57d0c..63fde24bf 100644 --- a/python/sglang/jit_kernel/tests/diffusion/test_group_norm_silu.py +++ b/python/sglang/jit_kernel/tests/diffusion/test_group_norm_silu.py @@ -9,7 +9,7 @@ from sglang.jit_kernel.diffusion.group_norm_silu import apply_group_norm_silu from sglang.jit_kernel.diffusion.triton.group_norm_silu import triton_group_norm_silu from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=8, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=8, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/diffusion/test_qknorm_rope.py b/python/sglang/jit_kernel/tests/diffusion/test_qknorm_rope.py index f12a6ae8e..0f3370ffc 100644 --- a/python/sglang/jit_kernel/tests/diffusion/test_qknorm_rope.py +++ b/python/sglang/jit_kernel/tests/diffusion/test_qknorm_rope.py @@ -8,7 +8,7 @@ import triton from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=44, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=44, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=176, suite="nightly-kernel-1-gpu", nightly=True) DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/diffusion/test_qwen_image_modulation.py b/python/sglang/jit_kernel/tests/diffusion/test_qwen_image_modulation.py index dce8ce947..0cede04c9 100644 --- a/python/sglang/jit_kernel/tests/diffusion/test_qwen_image_modulation.py +++ b/python/sglang/jit_kernel/tests/diffusion/test_qwen_image_modulation.py @@ -12,7 +12,7 @@ from sglang.jit_kernel.diffusion.triton.scale_shift import ( from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=15, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=15, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/test_activation.py b/python/sglang/jit_kernel/tests/test_activation.py index 4ad39b269..e384f31f3 100644 --- a/python/sglang/jit_kernel/tests/test_activation.py +++ b/python/sglang/jit_kernel/tests/test_activation.py @@ -8,7 +8,7 @@ from sglang.jit_kernel.activation import SUPPORTED_ACTIVATIONS, run_activation from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=20, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=20, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=30, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_add_constant.py b/python/sglang/jit_kernel/tests/test_add_constant.py index cad9ac3ab..77cb31fb9 100644 --- a/python/sglang/jit_kernel/tests/test_add_constant.py +++ b/python/sglang/jit_kernel/tests/test_add_constant.py @@ -6,7 +6,7 @@ import torch from sglang.jit_kernel.add_constant import add_constant from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=45, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=45, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=180, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_awq_dequantize.py b/python/sglang/jit_kernel/tests/test_awq_dequantize.py index debd97729..19d22e669 100644 --- a/python/sglang/jit_kernel/tests/test_awq_dequantize.py +++ b/python/sglang/jit_kernel/tests/test_awq_dequantize.py @@ -7,7 +7,7 @@ import torch from sglang.jit_kernel.awq_dequantize import awq_dequantize as jit_awq_dequantize from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=9, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=9, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) try: diff --git a/python/sglang/jit_kernel/tests/test_awq_marlin_moe_repack.py b/python/sglang/jit_kernel/tests/test_awq_marlin_moe_repack.py index 2a0f9354e..7148b057c 100644 --- a/python/sglang/jit_kernel/tests/test_awq_marlin_moe_repack.py +++ b/python/sglang/jit_kernel/tests/test_awq_marlin_moe_repack.py @@ -11,7 +11,7 @@ from sglang.jit_kernel.awq_marlin_repack import ( from sglang.srt.layers.quantization.utils import pack_cols, quantize_weights from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=10, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_awq_marlin_repack.py b/python/sglang/jit_kernel/tests/test_awq_marlin_repack.py index 35c23922d..4b0746b85 100644 --- a/python/sglang/jit_kernel/tests/test_awq_marlin_repack.py +++ b/python/sglang/jit_kernel/tests/test_awq_marlin_repack.py @@ -12,7 +12,7 @@ from sglang.srt.layers.quantization.utils import pack_cols, quantize_weights from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_marlin_utils import get_weight_perm, marlin_weights -register_cuda_ci(est_time=10, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_clamp_position.py b/python/sglang/jit_kernel/tests/test_clamp_position.py index cb3ec6ce5..4e8cc1e4f 100644 --- a/python/sglang/jit_kernel/tests/test_clamp_position.py +++ b/python/sglang/jit_kernel/tests/test_clamp_position.py @@ -6,7 +6,7 @@ import torch from sglang.jit_kernel.clamp_position import clamp_position_cuda from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=12, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=12, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_concat_mla.py b/python/sglang/jit_kernel/tests/test_concat_mla.py index 9ecfb654c..ceb70d012 100644 --- a/python/sglang/jit_kernel/tests/test_concat_mla.py +++ b/python/sglang/jit_kernel/tests/test_concat_mla.py @@ -7,7 +7,7 @@ import triton from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=17, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=17, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_custom_all_reduce.py b/python/sglang/jit_kernel/tests/test_custom_all_reduce.py index 96a61bfbf..a36c05209 100644 --- a/python/sglang/jit_kernel/tests/test_custom_all_reduce.py +++ b/python/sglang/jit_kernel/tests/test_custom_all_reduce.py @@ -38,7 +38,7 @@ from sglang.test.ci.ci_register import register_cuda_ci register_cuda_ci( est_time=300, - suite="stage-b-kernel-unit-8-gpu-h200", + suite="base-b-kernel-unit-8-gpu-h200", ) register_cuda_ci( est_time=300, diff --git a/python/sglang/jit_kernel/tests/test_cutedsl_gdn.py b/python/sglang/jit_kernel/tests/test_cutedsl_gdn.py index 83e47024c..fb6700d5d 100644 --- a/python/sglang/jit_kernel/tests/test_cutedsl_gdn.py +++ b/python/sglang/jit_kernel/tests/test_cutedsl_gdn.py @@ -29,7 +29,7 @@ try: except ImportError: TRITON_AVAILABLE = False -register_cuda_ci(est_time=5, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_flash_attention_4.py b/python/sglang/jit_kernel/tests/test_flash_attention_4.py index 81b0f0b23..95bb978af 100644 --- a/python/sglang/jit_kernel/tests/test_flash_attention_4.py +++ b/python/sglang/jit_kernel/tests/test_flash_attention_4.py @@ -14,7 +14,7 @@ from einops import rearrange, repeat from sglang.jit_kernel.flash_attention import flash_attn_varlen_func from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=120, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=120, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=900, suite="nightly-kernel-1-gpu", nightly=True) # Skip this test on Hopper machine diff --git a/python/sglang/jit_kernel/tests/test_fused_add_rmsnorm.py b/python/sglang/jit_kernel/tests/test_fused_add_rmsnorm.py index 49636c4f5..2caf7b0dd 100644 --- a/python/sglang/jit_kernel/tests/test_fused_add_rmsnorm.py +++ b/python/sglang/jit_kernel/tests/test_fused_add_rmsnorm.py @@ -7,7 +7,7 @@ import torch from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_fused_metadata_copy.py b/python/sglang/jit_kernel/tests/test_fused_metadata_copy.py index f0fb78c1f..4daeae01c 100644 --- a/python/sglang/jit_kernel/tests/test_fused_metadata_copy.py +++ b/python/sglang/jit_kernel/tests/test_fused_metadata_copy.py @@ -16,7 +16,7 @@ import torch from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=100, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=100, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=400, suite="nightly-kernel-1-gpu", nightly=True) # ============================================================================= diff --git a/python/sglang/jit_kernel/tests/test_fused_store_index_cache.py b/python/sglang/jit_kernel/tests/test_fused_store_index_cache.py index 5766f3168..6dc382166 100644 --- a/python/sglang/jit_kernel/tests/test_fused_store_index_cache.py +++ b/python/sglang/jit_kernel/tests/test_fused_store_index_cache.py @@ -48,7 +48,7 @@ try: except ImportError: _is_fp8_fnuz = False -register_cuda_ci(est_time=24, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=24, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) PAGE_SIZE = 64 diff --git a/python/sglang/jit_kernel/tests/test_fused_verify_triton_gdn.py b/python/sglang/jit_kernel/tests/test_fused_verify_triton_gdn.py index 08db51289..ec9ba72dc 100644 --- a/python/sglang/jit_kernel/tests/test_fused_verify_triton_gdn.py +++ b/python/sglang/jit_kernel/tests/test_fused_verify_triton_gdn.py @@ -26,7 +26,7 @@ try: except ImportError: KERNELS_AVAILABLE = False -register_cuda_ci(est_time=6, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_gptq_marlin.py b/python/sglang/jit_kernel/tests/test_gptq_marlin.py index a811ee654..379d1132a 100644 --- a/python/sglang/jit_kernel/tests/test_gptq_marlin.py +++ b/python/sglang/jit_kernel/tests/test_gptq_marlin.py @@ -9,7 +9,7 @@ from sglang.srt.layers.quantization.marlin_utils import marlin_make_workspace from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_marlin_utils import awq_marlin_quantize, marlin_quantize -register_cuda_ci(est_time=13, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=13, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) MNK_FACTORS = [ diff --git a/python/sglang/jit_kernel/tests/test_gptq_marlin_repack.py b/python/sglang/jit_kernel/tests/test_gptq_marlin_repack.py index 4bcbc0bf3..a94062e17 100644 --- a/python/sglang/jit_kernel/tests/test_gptq_marlin_repack.py +++ b/python/sglang/jit_kernel/tests/test_gptq_marlin_repack.py @@ -13,7 +13,7 @@ from sglang.srt.layers.quantization.utils import ( from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_marlin_utils import get_weight_perm, marlin_weights -register_cuda_ci(est_time=16, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=16, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) MARLIN_K_CHUNKS = [128] diff --git a/python/sglang/jit_kernel/tests/test_grouped_topk.py b/python/sglang/jit_kernel/tests/test_grouped_topk.py index 5c3289094..e47d04609 100644 --- a/python/sglang/jit_kernel/tests/test_grouped_topk.py +++ b/python/sglang/jit_kernel/tests/test_grouped_topk.py @@ -9,7 +9,7 @@ from sglang.jit_kernel.utils import get_ci_test_range from sglang.srt.layers.moe.topk import biased_grouped_topk_impl from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_hadamard_jit.py b/python/sglang/jit_kernel/tests/test_hadamard_jit.py index cc03a01ae..208a6b1ae 100644 --- a/python/sglang/jit_kernel/tests/test_hadamard_jit.py +++ b/python/sglang/jit_kernel/tests/test_hadamard_jit.py @@ -16,7 +16,7 @@ from sglang.jit_kernel.hadamard import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=128, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=128, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=512, suite="nightly-kernel-1-gpu", nightly=True) # Exact M×N Hadamard matrices (±1 entries) copied from diff --git a/python/sglang/jit_kernel/tests/test_hicache.py b/python/sglang/jit_kernel/tests/test_hicache.py index b6059b2c1..527aeefe7 100644 --- a/python/sglang/jit_kernel/tests/test_hicache.py +++ b/python/sglang/jit_kernel/tests/test_hicache.py @@ -13,7 +13,7 @@ from sglang.srt.mem_cache.memory_pool_host import ( from sglang.srt.utils import is_cuda, is_hip, is_npu, is_xpu from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=10, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) pytestmark = pytest.mark.skipif( diff --git a/python/sglang/jit_kernel/tests/test_hisparse.py b/python/sglang/jit_kernel/tests/test_hisparse.py index 190f22355..c4b729f5e 100644 --- a/python/sglang/jit_kernel/tests/test_hisparse.py +++ b/python/sglang/jit_kernel/tests/test_hisparse.py @@ -7,7 +7,7 @@ from sglang.jit_kernel.hisparse import load_cache_to_device_buffer_mla from sglang.srt.utils import is_cuda, is_hip, is_npu, is_xpu from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=10, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) pytestmark = pytest.mark.skipif( diff --git a/python/sglang/jit_kernel/tests/test_mla_kv_pack_quantize_fp8.py b/python/sglang/jit_kernel/tests/test_mla_kv_pack_quantize_fp8.py index bfb88067a..b78c42fd2 100644 --- a/python/sglang/jit_kernel/tests/test_mla_kv_pack_quantize_fp8.py +++ b/python/sglang/jit_kernel/tests/test_mla_kv_pack_quantize_fp8.py @@ -7,7 +7,7 @@ from sglang.jit_kernel.mla_kv_pack_quantize_fp8 import mla_kv_pack_quantize_fp8 from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=60, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=60, suite="base-b-kernel-unit-1-gpu-large") DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/test_moe_align_block_size.py b/python/sglang/jit_kernel/tests/test_moe_align_block_size.py index 92905058a..a84ba8e40 100644 --- a/python/sglang/jit_kernel/tests/test_moe_align_block_size.py +++ b/python/sglang/jit_kernel/tests/test_moe_align_block_size.py @@ -9,7 +9,7 @@ import triton.language as tl from sglang.jit_kernel.moe_align import moe_align_block_size from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=28, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=28, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_moe_lora_align_block_size.py b/python/sglang/jit_kernel/tests/test_moe_lora_align_block_size.py index 48688e5da..b2e721cc9 100644 --- a/python/sglang/jit_kernel/tests/test_moe_lora_align_block_size.py +++ b/python/sglang/jit_kernel/tests/test_moe_lora_align_block_size.py @@ -11,7 +11,7 @@ import torch from sglang.jit_kernel.moe_lora_align import moe_lora_align_block_size from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=28, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=28, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_moe_wna16_marlin.py b/python/sglang/jit_kernel/tests/test_moe_wna16_marlin.py index 5100aac5c..54852f1a9 100644 --- a/python/sglang/jit_kernel/tests/test_moe_wna16_marlin.py +++ b/python/sglang/jit_kernel/tests/test_moe_wna16_marlin.py @@ -10,7 +10,7 @@ from sglang.srt.layers.moe.fused_moe_triton import moe_align_block_size from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_marlin_utils import awq_marlin_quantize, marlin_quantize -register_cuda_ci(est_time=10, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=10, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_mxfp8_moe.py b/python/sglang/jit_kernel/tests/test_mxfp8_moe.py index 12157b7aa..4ba53351a 100644 --- a/python/sglang/jit_kernel/tests/test_mxfp8_moe.py +++ b/python/sglang/jit_kernel/tests/test_mxfp8_moe.py @@ -10,7 +10,7 @@ from sglang.jit_kernel.mxfp8 import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_nvfp4_blockwise_moe.py b/python/sglang/jit_kernel/tests/test_nvfp4_blockwise_moe.py index 864636050..d188ef268 100644 --- a/python/sglang/jit_kernel/tests/test_nvfp4_blockwise_moe.py +++ b/python/sglang/jit_kernel/tests/test_nvfp4_blockwise_moe.py @@ -10,7 +10,7 @@ from sglang.jit_kernel.nvfp4 import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) FLOAT4_E2M1_MAX = 6.0 diff --git a/python/sglang/jit_kernel/tests/test_nvfp4_gemm.py b/python/sglang/jit_kernel/tests/test_nvfp4_gemm.py index 21c14d5b1..4e55fe40b 100644 --- a/python/sglang/jit_kernel/tests/test_nvfp4_gemm.py +++ b/python/sglang/jit_kernel/tests/test_nvfp4_gemm.py @@ -6,7 +6,7 @@ import torch from sglang.jit_kernel.nvfp4 import cutlass_scaled_fp4_mm, scaled_fp4_quant from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_nvfp4_quant.py b/python/sglang/jit_kernel/tests/test_nvfp4_quant.py index 5b7dfbd0f..293d93ead 100644 --- a/python/sglang/jit_kernel/tests/test_nvfp4_quant.py +++ b/python/sglang/jit_kernel/tests/test_nvfp4_quant.py @@ -16,7 +16,7 @@ except Exception: from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=5, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_per_tensor_quant_fp8.py b/python/sglang/jit_kernel/tests/test_per_tensor_quant_fp8.py index cac76d03a..2e3acea3a 100644 --- a/python/sglang/jit_kernel/tests/test_per_tensor_quant_fp8.py +++ b/python/sglang/jit_kernel/tests/test_per_tensor_quant_fp8.py @@ -8,7 +8,7 @@ import torch from sglang.jit_kernel.per_tensor_quant_fp8 import per_tensor_quant_fp8 from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=16, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=16, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) try: diff --git a/python/sglang/jit_kernel/tests/test_per_token_group_quant_8bit.py b/python/sglang/jit_kernel/tests/test_per_token_group_quant_8bit.py index 8b0452d7d..f370cb19a 100644 --- a/python/sglang/jit_kernel/tests/test_per_token_group_quant_8bit.py +++ b/python/sglang/jit_kernel/tests/test_per_token_group_quant_8bit.py @@ -25,7 +25,7 @@ from sglang.srt.layers.quantization.fp8_kernel import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=16, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=16, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) configs = list( diff --git a/python/sglang/jit_kernel/tests/test_pos_enc.py b/python/sglang/jit_kernel/tests/test_pos_enc.py index 8b4fcd146..cdeb3f85f 100644 --- a/python/sglang/jit_kernel/tests/test_pos_enc.py +++ b/python/sglang/jit_kernel/tests/test_pos_enc.py @@ -10,7 +10,7 @@ import triton.language as tl from sglang.jit_kernel.rope import rotary_embedding from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=18, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=18, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_qknorm.py b/python/sglang/jit_kernel/tests/test_qknorm.py index 4b85b5c52..b0026997c 100644 --- a/python/sglang/jit_kernel/tests/test_qknorm.py +++ b/python/sglang/jit_kernel/tests/test_qknorm.py @@ -8,7 +8,7 @@ import triton from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=37, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=37, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=148, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_qknorm_across_heads.py b/python/sglang/jit_kernel/tests/test_qknorm_across_heads.py index 81c8a1ead..a62887a73 100644 --- a/python/sglang/jit_kernel/tests/test_qknorm_across_heads.py +++ b/python/sglang/jit_kernel/tests/test_qknorm_across_heads.py @@ -8,7 +8,7 @@ import triton from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=15, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=15, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_renorm.py b/python/sglang/jit_kernel/tests/test_renorm.py index d3ef6ce19..119fcd80d 100644 --- a/python/sglang/jit_kernel/tests/test_renorm.py +++ b/python/sglang/jit_kernel/tests/test_renorm.py @@ -9,7 +9,7 @@ import torch from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=6, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=6, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_resolve_future_token_ids.py b/python/sglang/jit_kernel/tests/test_resolve_future_token_ids.py index cfb8597f6..062625ce2 100644 --- a/python/sglang/jit_kernel/tests/test_resolve_future_token_ids.py +++ b/python/sglang/jit_kernel/tests/test_resolve_future_token_ids.py @@ -6,7 +6,7 @@ import torch from sglang.jit_kernel.resolve_future_token_ids import resolve_future_token_ids_cuda from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=9, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=9, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_rmsnorm.py b/python/sglang/jit_kernel/tests/test_rmsnorm.py index 59ce90f29..38b2efc90 100644 --- a/python/sglang/jit_kernel/tests/test_rmsnorm.py +++ b/python/sglang/jit_kernel/tests/test_rmsnorm.py @@ -7,7 +7,7 @@ import torch from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=45, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=45, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=240, suite="nightly-kernel-1-gpu", nightly=True) diff --git a/python/sglang/jit_kernel/tests/test_rmsnorm_hf.py b/python/sglang/jit_kernel/tests/test_rmsnorm_hf.py index 5887bff6c..02162172f 100644 --- a/python/sglang/jit_kernel/tests/test_rmsnorm_hf.py +++ b/python/sglang/jit_kernel/tests/test_rmsnorm_hf.py @@ -13,7 +13,7 @@ from sglang.jit_kernel.rmsnorm_hf import ( from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) EPS = 1e-5 diff --git a/python/sglang/jit_kernel/tests/test_rope.py b/python/sglang/jit_kernel/tests/test_rope.py index 62a601f65..28f4e35f5 100644 --- a/python/sglang/jit_kernel/tests/test_rope.py +++ b/python/sglang/jit_kernel/tests/test_rope.py @@ -7,7 +7,7 @@ import triton from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=64, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=64, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=256, suite="nightly-kernel-1-gpu", nightly=True) DEVICE = "cuda" diff --git a/python/sglang/jit_kernel/tests/test_set_mla_kv_buffer.py b/python/sglang/jit_kernel/tests/test_set_mla_kv_buffer.py index f0c395c89..f9aa08724 100644 --- a/python/sglang/jit_kernel/tests/test_set_mla_kv_buffer.py +++ b/python/sglang/jit_kernel/tests/test_set_mla_kv_buffer.py @@ -10,7 +10,7 @@ from sglang.jit_kernel.set_mla_kv_buffer import ( from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=30, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=30, suite="base-b-kernel-unit-1-gpu-large") DEVICE = "cuda" CACHE_SIZE = 4096 diff --git a/python/sglang/jit_kernel/tests/test_store_cache.py b/python/sglang/jit_kernel/tests/test_store_cache.py index a7b9e5be1..16da71362 100644 --- a/python/sglang/jit_kernel/tests/test_store_cache.py +++ b/python/sglang/jit_kernel/tests/test_store_cache.py @@ -8,7 +8,7 @@ from sglang.jit_kernel.kvcache import can_use_store_cache, store_cache from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=28, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=28, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) register_amd_ci(est_time=55, suite="jit-kernel-unit-test-amd") diff --git a/python/sglang/jit_kernel/tests/test_timestep_embedding.py b/python/sglang/jit_kernel/tests/test_timestep_embedding.py index 1ec5912d4..94db3f4f7 100644 --- a/python/sglang/jit_kernel/tests/test_timestep_embedding.py +++ b/python/sglang/jit_kernel/tests/test_timestep_embedding.py @@ -16,7 +16,7 @@ from sglang.jit_kernel.timestep_embedding import ( from sglang.jit_kernel.utils import get_ci_test_range from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=16, suite="stage-b-kernel-unit-1-gpu-large") +register_cuda_ci(est_time=16, suite="base-b-kernel-unit-1-gpu-large") register_cuda_ci(est_time=120, suite="nightly-kernel-1-gpu", nightly=True) CORRECTNESS_BATCH_SIZES = get_ci_test_range( diff --git a/python/sglang/jit_kernel/tests/test_tp_qknorm.py b/python/sglang/jit_kernel/tests/test_tp_qknorm.py index 98a803ca0..854d984d1 100644 --- a/python/sglang/jit_kernel/tests/test_tp_qknorm.py +++ b/python/sglang/jit_kernel/tests/test_tp_qknorm.py @@ -16,7 +16,7 @@ from sglang.test.ci.ci_register import register_cuda_ci register_cuda_ci( est_time=300, - suite="stage-b-kernel-unit-8-gpu-h200", + suite="base-b-kernel-unit-8-gpu-h200", ) register_cuda_ci( est_time=300, diff --git a/python/sglang/test/ci/ci_register.py b/python/sglang/test/ci/ci_register.py index edf830493..f385f733e 100644 --- a/python/sglang/test/ci/ci_register.py +++ b/python/sglang/test/ci/ci_register.py @@ -17,7 +17,7 @@ __all__ = [ ] # `suite` stays in positional slot 2 for backward compat with existing -# `register_cpu_ci(5, "stage-a-test-cpu")` style positional calls. New fields +# `register_cpu_ci(5, "base-a-test-cpu")` style positional calls. New fields # (`stage`, `runner_config`) are kwarg-only. _PARAM_ORDER = ("est_time", "suite", "nightly", "disabled") _KWARG_ONLY = ("stage", "runner_config") diff --git a/scripts/ci/utils/compute_partitions.py b/scripts/ci/utils/compute_partitions.py index 994d877f4..d1f52ce49 100644 --- a/scripts/ci/utils/compute_partitions.py +++ b/scripts/ci/utils/compute_partitions.py @@ -2,7 +2,7 @@ keyed by suite name. Consumed by pr-test.yml stage jobs as `fromJson(needs.check-changes.outputs.partitions)['']`. - partitions={"stage-b-test-1-gpu-small": {"size": 8, "arr": [0,...,7], "max_parallel": 2}, ...} + partitions={"base-b-test-1-gpu-small": {"size": 8, "arr": [0,...,7], "max_parallel": 2}, ...} """ import argparse @@ -34,11 +34,11 @@ HWBackend = _ci_register.HWBackend # pr-test-amd.yml / pr-test-npu.yml have their own dispatch. _TARGET_BACKENDS = {HWBackend.CUDA, HWBackend.CPU} -# stage-a is the critical-path entry gate; pin its fanout to smoke-coverage +# base-a is the critical-path entry gate; pin its fanout to smoke-coverage # defaults instead of est_time. max_parallel = size (no throttle). -_STAGE_A_OVERRIDES = { - "stage-a-test-cpu": 4, - "stage-a-test-1-gpu-small": 1, +_BASE_A_OVERRIDES = { + "base-a-test-cpu": 4, + "base-a-test-1-gpu-small": 1, } _REUSABLE_STAGE_USES = "./.github/workflows/_pr-test-stage.yml" @@ -47,7 +47,7 @@ _REUSABLE_STAGE_USES = "./.github/workflows/_pr-test-stage.yml" def load_run_timeouts(pr_test_yml_path: str) -> dict: """Map `self_name -> run_timeout_minutes` from one pr-test*.yml. The input is required in `_pr-test-stage.yml` -- KeyError surfaces missing. - Inline stage-a-test-cpu is skipped (uses `_STAGE_A_OVERRIDES`).""" + Inline base-a-test-cpu is skipped (uses `_BASE_A_OVERRIDES`).""" with open(pr_test_yml_path) as f: wf = yaml.safe_load(f) timeouts = {} @@ -122,7 +122,7 @@ def compute_partitions( """ # Allowlist: stages pr-test.yml dispatches. Stress / weekly / # nightly-* live in test/registered/ but pr-test doesn't run them. - dispatched_suites = set(run_timeouts) | set(_STAGE_A_OVERRIDES) + dispatched_suites = set(run_timeouts) | set(_BASE_A_OVERRIDES) suite_tests = defaultdict(list) for t in tests: if t.backend not in _TARGET_BACKENDS: @@ -149,8 +149,8 @@ def compute_partitions( bias = fit.get("bias", 0.0) # Each shard pays `bias` once, so size >= coeff*total / (target-bias). - if suite in _STAGE_A_OVERRIDES: - size = _STAGE_A_OVERRIDES[suite] + if suite in _BASE_A_OVERRIDES: + size = _BASE_A_OVERRIDES[suite] max_parallel = size else: target = per_shard_target_seconds(suite, run_timeouts) diff --git a/test/README.md b/test/README.md index bc7f654b3..414e02b40 100644 --- a/test/README.md +++ b/test/README.md @@ -48,14 +48,14 @@ python3 test/registered/core/test_srt_endpoint.py TestSRTEndpoint.test_simple_de python3 python/sglang/jit_kernel/tests/test_add_constant.py # Run a suite -python3 test/run_suite.py --hw cpu --suite stage-a-test-cpu -python3 test/run_suite.py --hw cuda --suite stage-a-test-1-gpu-small +python3 test/run_suite.py --hw cpu --suite base-a-test-cpu +python3 test/run_suite.py --hw cuda --suite base-a-test-1-gpu-small # Nightly tests python3 test/run_suite.py --hw cuda --suite nightly-1-gpu --nightly # With auto-partitioning (for parallel CI jobs) -python3 test/run_suite.py --hw cuda --suite stage-b-test-1-gpu-small \ +python3 test/run_suite.py --hw cuda --suite base-b-test-1-gpu-small \ --auto-partition-id 0 --auto-partition-size 4 ``` @@ -66,7 +66,7 @@ Every CI-discovered test file must call a registration function at module level: ```python from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=80, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=80, stage="base-b", runner_config="1-gpu-small") ``` Parameters: `est_time` (seconds), `stage` + `runner_config` (target stage and runner pool from `scripts/ci/runner_configs.yml`), `nightly=True` (nightly-only), `disabled="reason"` (temporarily disable). @@ -74,8 +74,8 @@ Parameters: `est_time` (seconds), `stage` + `runner_config` (target stage and ru Keep `est_time`, `stage`, `runner_config` as **literal values** — `run_suite.py` collects them by AST parsing. JIT kernel files live outside `test/registered/` but still use registration: -- Correctness tests: `python/sglang/jit_kernel/tests/test_*.py` → `stage-b-kernel-unit-1-gpu-large` -- Benchmarks: `python/sglang/jit_kernel/benchmark/bench_*.py` → `stage-b-kernel-benchmark-1-gpu-large` +- Correctness tests: `python/sglang/jit_kernel/tests/test_*.py` → `base-b-kernel-unit-1-gpu-large` +- Benchmarks: `python/sglang/jit_kernel/benchmark/bench_*.py` → `base-b-kernel-benchmark-1-gpu-large` ## Choosing a Suite @@ -83,12 +83,12 @@ Use the lightest suite that meets your test's needs. Full suite tables are in th | Need | Suite | |------|-------| -| No GPU required | `stage-a-test-cpu` | -| Small GPU (fits 5090, 32GB) | `stage-b-test-1-gpu-small` (most tests go here) | -| Large GPU memory or Hopper features | `stage-b-test-1-gpu-large` | -| JIT kernel correctness | `stage-b-kernel-unit-1-gpu-large` | -| JIT kernel benchmarks | `stage-b-kernel-benchmark-1-gpu-large` | -| Multi-GPU (2/4/8) | `stage-b-test-2-gpu-large`, `stage-c-test-*` | +| No GPU required | `base-a-test-cpu` | +| Small GPU (fits 5090, 32GB) | `base-b-test-1-gpu-small` (most tests go here) | +| Large GPU memory or Hopper features | `base-b-test-1-gpu-large` | +| JIT kernel correctness | `base-b-kernel-unit-1-gpu-large` | +| JIT kernel benchmarks | `base-b-kernel-benchmark-1-gpu-large` | +| Multi-GPU (2/4/8) | `base-b-test-2-gpu-large`, `base-c-test-*` | | Long-running or experimental | `nightly-*` suites | ## Steps for Adding a Test diff --git a/test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py b/test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py index 1effb77f3..c59389f40 100644 --- a/test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py +++ b/test/registered/4-gpu-models/test_deepseek_v3_cutedsl_4gpu.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=1800, stage="stage-c", runner_config="4-gpu-gb200") +register_cuda_ci(est_time=1800, stage="base-c", runner_config="4-gpu-gb200") class TestDeepseekR1Nvfp4CuteDSLDeepEP(CustomTestCase): diff --git a/test/registered/4-gpu-models/test_gpt_oss_4gpu.py b/test/registered/4-gpu-models/test_gpt_oss_4gpu.py index 06a53d646..c792c4d56 100644 --- a/test/registered/4-gpu-models/test_gpt_oss_4gpu.py +++ b/test/registered/4-gpu-models/test_gpt_oss_4gpu.py @@ -3,8 +3,8 @@ import unittest from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.gpt_oss_common import BaseTestGptOss -register_cuda_ci(est_time=392, stage="stage-c", runner_config="4-gpu-h100") -register_cuda_ci(est_time=350, stage="stage-c", runner_config="4-gpu-b200") +register_cuda_ci(est_time=392, stage="base-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=350, stage="base-c", runner_config="4-gpu-b200") class TestGptOss4Gpu(BaseTestGptOss): diff --git a/test/registered/4-gpu-models/test_qwen35_fp4_mtp_v2.py b/test/registered/4-gpu-models/test_qwen35_fp4_mtp_v2.py index 6e4c39c42..6e9c8ca6a 100644 --- a/test/registered/4-gpu-models/test_qwen35_fp4_mtp_v2.py +++ b/test/registered/4-gpu-models/test_qwen35_fp4_mtp_v2.py @@ -15,7 +15,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=340, stage="stage-c", runner_config="4-gpu-b200") +register_cuda_ci(est_time=340, stage="base-c", runner_config="4-gpu-b200") QWEN35_FP4_MODEL = "nvidia/Qwen3.5-397B-A17B-NVFP4" ACC_THRESHOLDS = {QWEN35_FP4_MODEL: {"gsm8k": 0.95}} diff --git a/test/registered/4-gpu-models/test_qwen35_models.py b/test/registered/4-gpu-models/test_qwen35_models.py index beee76658..434f690c5 100644 --- a/test/registered/4-gpu-models/test_qwen35_models.py +++ b/test/registered/4-gpu-models/test_qwen35_models.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=370, stage="stage-c", runner_config="4-gpu-b200") +register_cuda_ci(est_time=370, stage="base-c", runner_config="4-gpu-b200") QWEN35_FP4_MODEL = "nvidia/Qwen3.5-397B-A17B-NVFP4" ACC_THRESHOLDS = {QWEN35_FP4_MODEL: {"gsm8k": 0.95}} diff --git a/test/registered/4-gpu-models/test_qwen3_30b.py b/test/registered/4-gpu-models/test_qwen3_30b.py index 238564599..b81534268 100644 --- a/test/registered/4-gpu-models/test_qwen3_30b.py +++ b/test/registered/4-gpu-models/test_qwen3_30b.py @@ -11,7 +11,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=261, stage="stage-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=261, stage="base-c", runner_config="4-gpu-h100") QWEN3_30B_MODEL_PATH = "Qwen/Qwen3-30B-A3B-FP8" diff --git a/test/registered/4-gpu-models/test_qwen3_next_models_mtp.py b/test/registered/4-gpu-models/test_qwen3_next_models_mtp.py index 1955dedc6..6c8dc6110 100644 --- a/test/registered/4-gpu-models/test_qwen3_next_models_mtp.py +++ b/test/registered/4-gpu-models/test_qwen3_next_models_mtp.py @@ -6,7 +6,7 @@ from sglang.test.kits.kl_divergence_kit import KLDivergenceMixin from sglang.test.kits.prefix_cache_branching_kit import PrefixCacheBranchingMixin from sglang.test.server_fixtures.default_fixture import DefaultServerBase -register_cuda_ci(est_time=290, stage="stage-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=290, stage="base-c", runner_config="4-gpu-h100") QWEN3_NEXT_MODEL = "Qwen/Qwen3-Next-80B-A3B-Instruct" diff --git a/test/registered/8-gpu-models/test_deepseek_v3_mtp.py b/test/registered/8-gpu-models/test_deepseek_v3_mtp.py index 371184789..9bcb6ebe1 100644 --- a/test/registered/8-gpu-models/test_deepseek_v3_mtp.py +++ b/test/registered/8-gpu-models/test_deepseek_v3_mtp.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( write_github_step_summary, ) -register_cuda_ci(est_time=300, stage="stage-c", runner_config="8-gpu-h200") +register_cuda_ci(est_time=300, stage="base-c", runner_config="8-gpu-h200") FULL_DEEPSEEK_V3_MODEL_PATH = "deepseek-ai/DeepSeek-V3-0324" diff --git a/test/registered/8-gpu-models/test_dsa_models_hisparse.py b/test/registered/8-gpu-models/test_dsa_models_hisparse.py index 73287134f..8bc6575ee 100644 --- a/test/registered/8-gpu-models/test_dsa_models_hisparse.py +++ b/test/registered/8-gpu-models/test_dsa_models_hisparse.py @@ -12,9 +12,7 @@ from sglang.test.test_utils import ( write_github_step_summary, ) -register_cuda_ci( - est_time=720, stage="stage-c", runner_config="8-gpu-h200", nightly=True -) +register_cuda_ci(est_time=720, stage="base-c", runner_config="8-gpu-h200", nightly=True) GLM5_MODEL_PATH = "zai-org/GLM-5-FP8" diff --git a/test/registered/8-gpu-models/test_mimo_models.py b/test/registered/8-gpu-models/test_mimo_models.py index 41ed0ed44..6d4c65230 100644 --- a/test/registered/8-gpu-models/test_mimo_models.py +++ b/test/registered/8-gpu-models/test_mimo_models.py @@ -6,7 +6,7 @@ from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin from sglang.test.server_fixtures.default_fixture import DefaultServerBase from sglang.test.server_fixtures.mmmu_fixture import MMMUServerBase -register_cuda_ci(est_time=500, stage="stage-c", runner_config="8-gpu-h200") +register_cuda_ci(est_time=500, stage="base-c", runner_config="8-gpu-h200") class TestMiMoV2Flash(GSM8KMixin, SpecDecodingMixin, DefaultServerBase): diff --git a/test/registered/8-gpu-models/test_minimax_m25_basic.py b/test/registered/8-gpu-models/test_minimax_m25_basic.py index b2347e30c..82a3054c0 100644 --- a/test/registered/8-gpu-models/test_minimax_m25_basic.py +++ b/test/registered/8-gpu-models/test_minimax_m25_basic.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( write_github_step_summary, ) -register_cuda_ci(est_time=290, stage="stage-c", runner_config="8-gpu-h200") +register_cuda_ci(est_time=290, stage="base-c", runner_config="8-gpu-h200") MINIMAX_M25_MODEL_PATH = "MiniMaxAI/MiniMax-M2.5" diff --git a/test/registered/attention/test_chunk_gated_delta_rule.py b/test/registered/attention/test_chunk_gated_delta_rule.py index f28a720e8..d3e852963 100644 --- a/test/registered/attention/test_chunk_gated_delta_rule.py +++ b/test/registered/attention/test_chunk_gated_delta_rule.py @@ -8,7 +8,7 @@ from sglang.srt.layers.attention.fla.fused_recurrent import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-large") @unittest.skipIf(not torch.cuda.is_available(), "Test requires CUDA") diff --git a/test/registered/attention/test_create_kvindices.py b/test/registered/attention/test_create_kvindices.py index c52581c41..898e84e80 100644 --- a/test/registered/attention/test_create_kvindices.py +++ b/test/registered/attention/test_create_kvindices.py @@ -9,7 +9,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase # Triton kernel unit test for KV indices creation -register_cuda_ci(est_time=7, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=10, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/attention/test_flash_attention_4.py b/test/registered/attention/test_flash_attention_4.py index b0210afbc..5ec464099 100644 --- a/test/registered/attention/test_flash_attention_4.py +++ b/test/registered/attention/test_flash_attention_4.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( ) # FlashAttention4 integration test (requires SM 100+ / Blackwell B200) -register_cuda_ci(est_time=260, stage="stage-b", runner_config="4-gpu-b200") +register_cuda_ci(est_time=260, stage="base-b", runner_config="4-gpu-b200") @unittest.skipIf(get_device_sm() < 100, "Test requires CUDA SM 100 or higher") diff --git a/test/registered/attention/test_gdn_noncontiguous_stride.py b/test/registered/attention/test_gdn_noncontiguous_stride.py index 2ba172952..e60a5ef2a 100644 --- a/test/registered/attention/test_gdn_noncontiguous_stride.py +++ b/test/registered/attention/test_gdn_noncontiguous_stride.py @@ -14,7 +14,7 @@ from sglang.srt.layers.attention.fla.fused_sigmoid_gating_recurrent import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=7, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-large") def _make_noncontiguous_ab(batch, num_heads, dtype=torch.bfloat16, device="cuda"): diff --git a/test/registered/attention/test_kda_kernels.py b/test/registered/attention/test_kda_kernels.py index b44ef7f01..96cb1e9e8 100644 --- a/test/registered/attention/test_kda_kernels.py +++ b/test/registered/attention/test_kda_kernels.py @@ -14,7 +14,7 @@ from sglang.srt.layers.attention.fla.kda import ( from sglang.srt.utils.common import get_device from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=12, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=12, stage="base-b", runner_config="1-gpu-large") @unittest.skipIf( diff --git a/test/registered/attention/test_normal_decode_set_metadata.py b/test/registered/attention/test_normal_decode_set_metadata.py index 4deb2a418..edf5f90fd 100644 --- a/test/registered/attention/test_normal_decode_set_metadata.py +++ b/test/registered/attention/test_normal_decode_set_metadata.py @@ -20,8 +20,8 @@ from sglang.srt.mem_cache.swa_memory_pool import SWAKVPool from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -# Register this test for CUDA CI in stage-b (fast attention/kernel tests) -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-large") +# Register this test for CUDA CI in base-b (fast attention/kernel tests) +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-large") def reference_normal_decode_set_metadata( diff --git a/test/registered/attention/test_triton_attention_backend.py b/test/registered/attention/test_triton_attention_backend.py index b2aac8dda..17e1f2238 100644 --- a/test/registered/attention/test_triton_attention_backend.py +++ b/test/registered/attention/test_triton_attention_backend.py @@ -20,7 +20,7 @@ from sglang.test.test_utils import ( ) # Triton attention backend integration test with latency benchmark and MMLU eval -register_cuda_ci(est_time=177, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=177, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=1400, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/attention/test_triton_attention_kernels.py b/test/registered/attention/test_triton_attention_kernels.py index 8002df396..dfc86cbf3 100644 --- a/test/registered/attention/test_triton_attention_kernels.py +++ b/test/registered/attention/test_triton_attention_kernels.py @@ -23,7 +23,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase, is_in_amd_ci # Triton attention kernel unit tests (decode, extend, prefill) -register_cuda_ci(est_time=19, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=19, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=30, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/bench_fn/test_bench_serving_reasoning_stream.py b/test/registered/bench_fn/test_bench_serving_reasoning_stream.py index c33bd2630..d6cf2f591 100644 --- a/test/registered/bench_fn/test_bench_serving_reasoning_stream.py +++ b/test/registered/bench_fn/test_bench_serving_reasoning_stream.py @@ -24,7 +24,7 @@ from sglang.bench_serving import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") def _free_port() -> int: diff --git a/test/registered/bench_fn/test_benchmark_datasets_api.py b/test/registered/bench_fn/test_benchmark_datasets_api.py index 0b9803698..395f9d399 100644 --- a/test/registered/bench_fn/test_benchmark_datasets_api.py +++ b/test/registered/bench_fn/test_benchmark_datasets_api.py @@ -26,7 +26,7 @@ from sglang.benchmark.datasets.random import sample_random_requests from sglang.benchmark.datasets.sharegpt import sample_sharegpt_requests from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class _DummyTokenTensor: diff --git a/test/registered/breakable_cuda_graph/test_breakable_cuda_graph.py b/test/registered/breakable_cuda_graph/test_breakable_cuda_graph.py index aeb391769..9b23bee62 100644 --- a/test/registered/breakable_cuda_graph/test_breakable_cuda_graph.py +++ b/test/registered/breakable_cuda_graph/test_breakable_cuda_graph.py @@ -23,7 +23,7 @@ from sglang.test.test_utils import ( ) # CI Registration — large suite to fit the integration test's server startup. -register_cuda_ci(est_time=79, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=79, stage="base-b", runner_config="1-gpu-large") def _skip_if_no_cuda(test_func): diff --git a/test/registered/constrained_decoding/test_constrained_decoding.py b/test/registered/constrained_decoding/test_constrained_decoding.py index 54c9e01a1..976445b10 100644 --- a/test/registered/constrained_decoding/test_constrained_decoding.py +++ b/test/registered/constrained_decoding/test_constrained_decoding.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=120, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=120, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=179, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/core/test_deterministic.py b/test/registered/core/test_deterministic.py index 97d9c5c8d..b7cdc7814 100644 --- a/test/registered/core/test_deterministic.py +++ b/test/registered/core/test_deterministic.py @@ -16,7 +16,7 @@ from sglang.test.test_deterministic_utils import ( ) from sglang.test.test_utils import is_in_amd_ci -register_cuda_ci(est_time=207, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=207, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=278, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/core/test_engine_child_pids.py b/test/registered/core/test_engine_child_pids.py index e9bbf0a92..9cd31b992 100644 --- a/test/registered/core/test_engine_child_pids.py +++ b/test/registered/core/test_engine_child_pids.py @@ -20,7 +20,7 @@ from sglang.test.test_utils import ( CustomTestCase, ) -register_cuda_ci(est_time=77, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=77, stage="base-b", runner_config="1-gpu-small") class TestEngineChildPids(CustomTestCase): diff --git a/test/registered/core/test_gemma4_moe_deterministic.py b/test/registered/core/test_gemma4_moe_deterministic.py index 109af8243..972b79c38 100644 --- a/test/registered/core/test_gemma4_moe_deterministic.py +++ b/test/registered/core/test_gemma4_moe_deterministic.py @@ -23,7 +23,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=107, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=107, stage="base-b", runner_config="2-gpu-large") PROMPT = ( diff --git a/test/registered/core/test_hidden_states.py b/test/registered/core/test_hidden_states.py index 454393d11..de72a37ce 100644 --- a/test/registered/core/test_hidden_states.py +++ b/test/registered/core/test_hidden_states.py @@ -8,7 +8,7 @@ from sglang.srt.utils import get_device, is_hip from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST, CustomTestCase -register_cuda_ci(est_time=45, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=45, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=55, suite="stage-b-test-1-gpu-small-amd") _is_hip = is_hip() diff --git a/test/registered/core/test_mm_process_config.py b/test/registered/core/test_mm_process_config.py index 6fbdb295d..202cbd4f7 100644 --- a/test/registered/core/test_mm_process_config.py +++ b/test/registered/core/test_mm_process_config.py @@ -4,7 +4,7 @@ from unittest.mock import MagicMock, patch from sglang.srt.server_args import ServerArgs from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=1, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/core/test_request_queue_validation.py b/test/registered/core/test_request_queue_validation.py index 9fb096c7f..3bc9841b9 100644 --- a/test/registered/core/test_request_queue_validation.py +++ b/test/registered/core/test_request_queue_validation.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( send_generate_requests, ) -register_cuda_ci(est_time=53, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=53, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=70, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/core/test_srt_endpoint.py b/test/registered/core/test_srt_endpoint.py index 1108a005b..749f50d08 100644 --- a/test/registered/core/test_srt_endpoint.py +++ b/test/registered/core/test_srt_endpoint.py @@ -28,7 +28,7 @@ from sglang.test.test_utils import ( run_logprob_check, ) -register_cuda_ci(est_time=134, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=134, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=130, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/core/test_srt_engine.py b/test/registered/core/test_srt_engine.py index 86d1ecc10..c849be7b0 100644 --- a/test/registered/core/test_srt_engine.py +++ b/test/registered/core/test_srt_engine.py @@ -22,7 +22,7 @@ from sglang.test.test_utils import ( CustomTestCase, ) -register_cuda_ci(est_time=387, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=387, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=261, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/cpu/test_activation.py b/test/registered/cpu/test_activation.py index fe020c887..70843a9dc 100644 --- a/test/registered/cpu/test_activation.py +++ b/test/registered/cpu/test_activation.py @@ -8,7 +8,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_binding.py b/test/registered/cpu/test_binding.py index f623045a7..c8bb50d8d 100644 --- a/test/registered/cpu/test_binding.py +++ b/test/registered/cpu/test_binding.py @@ -8,7 +8,7 @@ kernel = torch.ops.sgl_kernel from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") class TestBinding(CustomTestCase): diff --git a/test/registered/cpu/test_bmm.py b/test/registered/cpu/test_bmm.py index 93257b718..eebe10343 100644 --- a/test/registered/cpu/test_bmm.py +++ b/test/registered/cpu/test_bmm.py @@ -10,7 +10,7 @@ from sglang.srt.layers.quantization.fp8_utils import input_to_float8 from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_causal_conv1d.py b/test/registered/cpu/test_causal_conv1d.py index f588eafa2..378be708d 100644 --- a/test/registered/cpu/test_causal_conv1d.py +++ b/test/registered/cpu/test_causal_conv1d.py @@ -9,7 +9,7 @@ from utils import parametrize, precision from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") causal_conv1d_weight_pack = torch.ops.sgl_kernel.causal_conv1d_weight_pack causal_conv1d_fwd = torch.ops.sgl_kernel.causal_conv1d_fwd_cpu diff --git a/test/registered/cpu/test_cpu_graph.py b/test/registered/cpu/test_cpu_graph.py index 37d70df72..ba95bc74e 100644 --- a/test/registered/cpu/test_cpu_graph.py +++ b/test/registered/cpu/test_cpu_graph.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") class TestCPUGraph(CustomTestCase): diff --git a/test/registered/cpu/test_decode.py b/test/registered/cpu/test_decode.py index 316c446bd..81385d3b2 100644 --- a/test/registered/cpu/test_decode.py +++ b/test/registered/cpu/test_decode.py @@ -6,7 +6,7 @@ from torch.nn.functional import scaled_dot_product_attention from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_extend.py b/test/registered/cpu/test_extend.py index 573531356..2ea6e3fba 100644 --- a/test/registered/cpu/test_extend.py +++ b/test/registered/cpu/test_extend.py @@ -6,7 +6,7 @@ from torch.nn.functional import scaled_dot_product_attention from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_flash_attn.py b/test/registered/cpu/test_flash_attn.py index f7f47c454..7d79adefb 100644 --- a/test/registered/cpu/test_flash_attn.py +++ b/test/registered/cpu/test_flash_attn.py @@ -8,7 +8,7 @@ from utils import parametrize, precision from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") flash_attn_varlen_func = torch.ops.sgl_kernel.flash_attn_varlen_func diff --git a/test/registered/cpu/test_gemm.py b/test/registered/cpu/test_gemm.py index c5ea056e7..909e0ab27 100644 --- a/test/registered/cpu/test_gemm.py +++ b/test/registered/cpu/test_gemm.py @@ -16,7 +16,7 @@ from utils import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_intel_amx_attention_backend_a.py b/test/registered/cpu/test_intel_amx_attention_backend_a.py index ba60527d2..f15afacce 100644 --- a/test/registered/cpu/test_intel_amx_attention_backend_a.py +++ b/test/registered/cpu/test_intel_amx_attention_backend_a.py @@ -20,7 +20,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") class TestIntelAMXAttnBackend(CustomTestCase): diff --git a/test/registered/cpu/test_intel_amx_attention_backend_b.py b/test/registered/cpu/test_intel_amx_attention_backend_b.py index 104f417c5..9b1db54ad 100644 --- a/test/registered/cpu/test_intel_amx_attention_backend_b.py +++ b/test/registered/cpu/test_intel_amx_attention_backend_b.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( intel_amx_benchmark, ) -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") class TestIntelAMXAttnBackendQuant(CustomTestCase): diff --git a/test/registered/cpu/test_intel_amx_attention_backend_c.py b/test/registered/cpu/test_intel_amx_attention_backend_c.py index 391d21a2b..bf528df45 100644 --- a/test/registered/cpu/test_intel_amx_attention_backend_c.py +++ b/test/registered/cpu/test_intel_amx_attention_backend_c.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( intel_amx_benchmark, ) -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") class TestIntelAMXAttnBackendQuant(CustomTestCase): diff --git a/test/registered/cpu/test_mamba.py b/test/registered/cpu/test_mamba.py index 25275e908..b5293ce82 100644 --- a/test/registered/cpu/test_mamba.py +++ b/test/registered/cpu/test_mamba.py @@ -8,7 +8,7 @@ from utils import precision from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_mla.py b/test/registered/cpu/test_mla.py index f6714ced5..93867ea79 100644 --- a/test/registered/cpu/test_mla.py +++ b/test/registered/cpu/test_mla.py @@ -7,7 +7,7 @@ from utils import precision from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_moe.py b/test/registered/cpu/test_moe.py index f3c817bec..7ad54d891 100644 --- a/test/registered/cpu/test_moe.py +++ b/test/registered/cpu/test_moe.py @@ -28,7 +28,7 @@ from utils import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") def fused_moe(a, w1, w2, score, topk, renormalize, prepack): diff --git a/test/registered/cpu/test_norm.py b/test/registered/cpu/test_norm.py index 2da4d5117..87e525b02 100644 --- a/test/registered/cpu/test_norm.py +++ b/test/registered/cpu/test_norm.py @@ -8,7 +8,7 @@ from utils import make_non_contiguous, parametrize, precision from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_qkv_proj_with_rope.py b/test/registered/cpu/test_qkv_proj_with_rope.py index 2fa291860..fc21b6651 100644 --- a/test/registered/cpu/test_qkv_proj_with_rope.py +++ b/test/registered/cpu/test_qkv_proj_with_rope.py @@ -13,7 +13,7 @@ from sglang.srt.layers.rotary_embedding.utils import apply_rotary_emb from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") convert_weight_packed = torch.ops.sgl_kernel.convert_weight_packed qkv_proj_with_rope = torch.ops.sgl_kernel.qkv_proj_with_rope diff --git a/test/registered/cpu/test_qwen3.py b/test/registered/cpu/test_qwen3.py index e8edfeb64..21c62a550 100644 --- a/test/registered/cpu/test_qwen3.py +++ b/test/registered/cpu/test_qwen3.py @@ -6,7 +6,7 @@ from utils import precision from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_rope.py b/test/registered/cpu/test_rope.py index 7246214d2..0d90f6ac1 100644 --- a/test/registered/cpu/test_rope.py +++ b/test/registered/cpu/test_rope.py @@ -15,7 +15,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_server_args_backend.py b/test/registered/cpu/test_server_args_backend.py index 22448a7f4..9998f8f4c 100644 --- a/test/registered/cpu/test_server_args_backend.py +++ b/test/registered/cpu/test_server_args_backend.py @@ -4,7 +4,7 @@ from unittest.mock import patch from sglang.srt.server_args import ServerArgs from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") class TestServerArgsCPUBackend(unittest.TestCase): diff --git a/test/registered/cpu/test_shared_expert.py b/test/registered/cpu/test_shared_expert.py index 18b3cef78..e09444957 100644 --- a/test/registered/cpu/test_shared_expert.py +++ b/test/registered/cpu/test_shared_expert.py @@ -19,7 +19,7 @@ from utils import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/cpu/test_topk.py b/test/registered/cpu/test_topk.py index 2d6d2bbbe..58c334832 100644 --- a/test/registered/cpu/test_topk.py +++ b/test/registered/cpu/test_topk.py @@ -11,7 +11,7 @@ from sglang.srt.models.llama4 import Llama4MoE from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-b-test-cpu") +register_cpu_ci(est_time=10, suite="base-b-test-cpu") torch.manual_seed(1234) diff --git a/test/registered/debug_utils/comparator/aligner/entrypoint/test_executor.py b/test/registered/debug_utils/comparator/aligner/entrypoint/test_executor.py index 0c807c1e6..67b3a46c7 100644 --- a/test/registered/debug_utils/comparator/aligner/entrypoint/test_executor.py +++ b/test/registered/debug_utils/comparator/aligner/entrypoint/test_executor.py @@ -28,7 +28,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis, TokenLayou from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) class TestExecuteSubPlans: diff --git a/test/registered/debug_utils/comparator/aligner/entrypoint/test_planner.py b/test/registered/debug_utils/comparator/aligner/entrypoint/test_planner.py index b7b9f89d7..5cf4917d6 100644 --- a/test/registered/debug_utils/comparator/aligner/entrypoint/test_planner.py +++ b/test/registered/debug_utils/comparator/aligner/entrypoint/test_planner.py @@ -25,7 +25,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) def _make_meta( diff --git a/test/registered/debug_utils/comparator/aligner/reorderer/test_executor.py b/test/registered/debug_utils/comparator/aligner/reorderer/test_executor.py index e5b166232..568f369d0 100644 --- a/test/registered/debug_utils/comparator/aligner/reorderer/test_executor.py +++ b/test/registered/debug_utils/comparator/aligner/reorderer/test_executor.py @@ -22,7 +22,7 @@ from sglang.srt.debug_utils.comparator.aligner.unsharder.types import ( from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _zigzag_order(cp_size: int) -> list[int]: diff --git a/test/registered/debug_utils/comparator/aligner/reorderer/test_planner.py b/test/registered/debug_utils/comparator/aligner/reorderer/test_planner.py index 728df373d..18420fd80 100644 --- a/test/registered/debug_utils/comparator/aligner/reorderer/test_planner.py +++ b/test/registered/debug_utils/comparator/aligner/reorderer/test_planner.py @@ -24,7 +24,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) class TestComputeReordererPlans: diff --git a/test/registered/debug_utils/comparator/aligner/test_axis_aligner.py b/test/registered/debug_utils/comparator/aligner/test_axis_aligner.py index df7591b81..36a9b624d 100644 --- a/test/registered/debug_utils/comparator/aligner/test_axis_aligner.py +++ b/test/registered/debug_utils/comparator/aligner/test_axis_aligner.py @@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.log_sink import log_sink from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) class TestComputeAxisAlignerPlan: diff --git a/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_loader.py b/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_loader.py index 9e33d0262..cfecd18f2 100644 --- a/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_loader.py +++ b/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_loader.py @@ -19,7 +19,7 @@ from sglang.srt.debug_utils.comparator.log_sink import LogSink from sglang.srt.debug_utils.comparator.output_types import ErrorLog, InfoLog from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) _sglang_plugin = _SGLangPlugin() _megatron_plugin = _MegatronPlugin() diff --git a/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_plugins.py b/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_plugins.py index 9b8cac698..1d5df4503 100644 --- a/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_plugins.py +++ b/test/registered/debug_utils/comparator/aligner/token_aligner/test_aux_plugins.py @@ -16,7 +16,7 @@ from sglang.srt.debug_utils.comparator.aligner.token_aligner.smart.types import from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) _sglang_plugin = _SGLangPlugin() _megatron_plugin = _MegatronPlugin() diff --git a/test/registered/debug_utils/comparator/aligner/token_aligner/test_concat_steps.py b/test/registered/debug_utils/comparator/aligner/token_aligner/test_concat_steps.py index 26b914e20..2e7ae5e33 100644 --- a/test/registered/debug_utils/comparator/aligner/token_aligner/test_concat_steps.py +++ b/test/registered/debug_utils/comparator/aligner/token_aligner/test_concat_steps.py @@ -9,7 +9,7 @@ from sglang.srt.debug_utils.comparator.aligner.token_aligner.concat_steps import from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) class TestExecuteConcat: diff --git a/test/registered/debug_utils/comparator/aligner/token_aligner/test_executor.py b/test/registered/debug_utils/comparator/aligner/token_aligner/test_executor.py index 41a2f6685..b71a3823e 100644 --- a/test/registered/debug_utils/comparator/aligner/token_aligner/test_executor.py +++ b/test/registered/debug_utils/comparator/aligner/token_aligner/test_executor.py @@ -25,7 +25,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) def _named(tensor: torch.Tensor, names: list[str]) -> torch.Tensor: diff --git a/test/registered/debug_utils/comparator/aligner/token_aligner/test_planner.py b/test/registered/debug_utils/comparator/aligner/token_aligner/test_planner.py index ce02794bf..7eb13615c 100644 --- a/test/registered/debug_utils/comparator/aligner/token_aligner/test_planner.py +++ b/test/registered/debug_utils/comparator/aligner/token_aligner/test_planner.py @@ -23,7 +23,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import TokenLayout from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) class TestBuildTokenIndexSGLangThd: diff --git a/test/registered/debug_utils/comparator/aligner/token_aligner/test_thd_seq_lens_loader.py b/test/registered/debug_utils/comparator/aligner/token_aligner/test_thd_seq_lens_loader.py index 56dc7c03d..b5f348cf2 100644 --- a/test/registered/debug_utils/comparator/aligner/token_aligner/test_thd_seq_lens_loader.py +++ b/test/registered/debug_utils/comparator/aligner/token_aligner/test_thd_seq_lens_loader.py @@ -14,7 +14,7 @@ from sglang.srt.debug_utils.comparator.aligner.token_aligner.smart.aux_plugins i ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) def _save_pt( diff --git a/test/registered/debug_utils/comparator/aligner/unsharder/test_executor.py b/test/registered/debug_utils/comparator/aligner/unsharder/test_executor.py index 4657b8f09..3dea0e887 100644 --- a/test/registered/debug_utils/comparator/aligner/unsharder/test_executor.py +++ b/test/registered/debug_utils/comparator/aligner/unsharder/test_executor.py @@ -27,7 +27,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ( from sglang.srt.debug_utils.comparator.output_types import ReplicatedCheckResult from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _name_tensors( diff --git a/test/registered/debug_utils/comparator/aligner/unsharder/test_parallel_info.py b/test/registered/debug_utils/comparator/aligner/unsharder/test_parallel_info.py index f7553ef1b..0b359af8a 100644 --- a/test/registered/debug_utils/comparator/aligner/unsharder/test_parallel_info.py +++ b/test/registered/debug_utils/comparator/aligner/unsharder/test_parallel_info.py @@ -9,7 +9,7 @@ from sglang.srt.debug_utils.comparator.aligner.unsharder.types import AxisInfo from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) class TestNormalizeParallelInfo: diff --git a/test/registered/debug_utils/comparator/aligner/unsharder/test_planner.py b/test/registered/debug_utils/comparator/aligner/unsharder/test_planner.py index cdf55f980..9bd14465f 100644 --- a/test/registered/debug_utils/comparator/aligner/unsharder/test_planner.py +++ b/test/registered/debug_utils/comparator/aligner/unsharder/test_planner.py @@ -19,7 +19,7 @@ from sglang.srt.debug_utils.comparator.aligner.unsharder.types import ( from sglang.srt.debug_utils.comparator.dims_spec import ParallelAxis, parse_dims from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) class TestComputeUnsharderPlan: diff --git a/test/registered/debug_utils/comparator/dims_spec/test_dim_parser.py b/test/registered/debug_utils/comparator/dims_spec/test_dim_parser.py index caca5205e..caddbd698 100644 --- a/test/registered/debug_utils/comparator/dims_spec/test_dim_parser.py +++ b/test/registered/debug_utils/comparator/dims_spec/test_dim_parser.py @@ -12,7 +12,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True) class TestParseDim: diff --git a/test/registered/debug_utils/comparator/dims_spec/test_dims_parser.py b/test/registered/debug_utils/comparator/dims_spec/test_dims_parser.py index b4436f4e1..4aa05f99d 100644 --- a/test/registered/debug_utils/comparator/dims_spec/test_dims_parser.py +++ b/test/registered/debug_utils/comparator/dims_spec/test_dims_parser.py @@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True) class TestSingletonDimUtilFilterOut: diff --git a/test/registered/debug_utils/comparator/dims_spec/test_tensor_naming.py b/test/registered/debug_utils/comparator/dims_spec/test_tensor_naming.py index 761172505..c8969813c 100644 --- a/test/registered/debug_utils/comparator/dims_spec/test_tensor_naming.py +++ b/test/registered/debug_utils/comparator/dims_spec/test_tensor_naming.py @@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True) class TestFindDimIndex: diff --git a/test/registered/debug_utils/comparator/dims_spec/test_types.py b/test/registered/debug_utils/comparator/dims_spec/test_types.py index 5e799ae9d..30289eed4 100644 --- a/test/registered/debug_utils/comparator/dims_spec/test_types.py +++ b/test/registered/debug_utils/comparator/dims_spec/test_types.py @@ -9,7 +9,7 @@ from sglang.srt.debug_utils.comparator.dims_spec import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True) class TestDimConstants: diff --git a/test/registered/debug_utils/comparator/tensor_comparator/test_comparator.py b/test/registered/debug_utils/comparator/tensor_comparator/test_comparator.py index 6e7bc6e68..754f42bba 100644 --- a/test/registered/debug_utils/comparator/tensor_comparator/test_comparator.py +++ b/test/registered/debug_utils/comparator/tensor_comparator/test_comparator.py @@ -14,7 +14,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.comparator import ( from sglang.srt.debug_utils.comparator.tensor_comparator.types import DiffInfo from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=20, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=20, suite="base-a-test-cpu", nightly=True) class TestComputeTensorInfo: diff --git a/test/registered/debug_utils/comparator/tensor_comparator/test_formatter.py b/test/registered/debug_utils/comparator/tensor_comparator/test_formatter.py index 83f95852d..342cc9f4a 100644 --- a/test/registered/debug_utils/comparator/tensor_comparator/test_formatter.py +++ b/test/registered/debug_utils/comparator/tensor_comparator/test_formatter.py @@ -58,7 +58,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import ( from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) _DEFAULT_PERCENTILE_LINES: list[str] = [ " [blue]p1 [/] -1.8000 -1.8000 [dim]+0.00e+00[/]", diff --git a/test/registered/debug_utils/comparator/tensor_comparator/test_types.py b/test/registered/debug_utils/comparator/tensor_comparator/test_types.py index 6b43456e2..a7c9df2b2 100644 --- a/test/registered/debug_utils/comparator/tensor_comparator/test_types.py +++ b/test/registered/debug_utils/comparator/tensor_comparator/test_types.py @@ -21,7 +21,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _make_stats(**overrides) -> TensorStats: diff --git a/test/registered/debug_utils/comparator/test_bundle_comparator.py b/test/registered/debug_utils/comparator/test_bundle_comparator.py index 901f885a8..64e1ae041 100644 --- a/test/registered/debug_utils/comparator/test_bundle_comparator.py +++ b/test/registered/debug_utils/comparator/test_bundle_comparator.py @@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.utils import Pair from sglang.srt.debug_utils.dump_loader import ValueWithMeta from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) def _save_tensor( diff --git a/test/registered/debug_utils/comparator/test_bundle_matcher.py b/test/registered/debug_utils/comparator/test_bundle_matcher.py index 248d52d23..586e8d6e0 100644 --- a/test/registered/debug_utils/comparator/test_bundle_matcher.py +++ b/test/registered/debug_utils/comparator/test_bundle_matcher.py @@ -13,7 +13,7 @@ from sglang.srt.debug_utils.comparator.bundle_matcher import ( from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) def _make_row( diff --git a/test/registered/debug_utils/comparator/test_display.py b/test/registered/debug_utils/comparator/test_display.py index c3789bb9c..1227dcb41 100644 --- a/test/registered/debug_utils/comparator/test_display.py +++ b/test/registered/debug_utils/comparator/test_display.py @@ -21,7 +21,7 @@ from sglang.srt.debug_utils.comparator.output_types import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _render_rich(renderable: object) -> str: diff --git a/test/registered/debug_utils/comparator/test_dp_utils.py b/test/registered/debug_utils/comparator/test_dp_utils.py index db32246ba..70d484e60 100644 --- a/test/registered/debug_utils/comparator/test_dp_utils.py +++ b/test/registered/debug_utils/comparator/test_dp_utils.py @@ -12,7 +12,7 @@ from sglang.srt.debug_utils.comparator.dp_utils import ( from sglang.srt.debug_utils.dump_loader import ValueWithMeta from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=15, suite="base-a-test-cpu", nightly=True) def _make_sglang_meta( diff --git a/test/registered/debug_utils/comparator/test_dump_loader.py b/test/registered/debug_utils/comparator/test_dump_loader.py index 26a68d066..9b5a25bce 100644 --- a/test/registered/debug_utils/comparator/test_dump_loader.py +++ b/test/registered/debug_utils/comparator/test_dump_loader.py @@ -7,7 +7,7 @@ import torch from sglang.srt.debug_utils.dump_loader import read_tokenizer_path from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _save_pt( diff --git a/test/registered/debug_utils/comparator/test_entrypoint.py b/test/registered/debug_utils/comparator/test_entrypoint.py index eb7239e13..927a218ca 100644 --- a/test/registered/debug_utils/comparator/test_entrypoint.py +++ b/test/registered/debug_utils/comparator/test_entrypoint.py @@ -30,7 +30,7 @@ from sglang.srt.debug_utils.comparator.output_types import ( from sglang.srt.debug_utils.dumper import DumperConfig, _Dumper, _RecomputeStatus from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) _FIXED_EXP_NAME = "my_exp_name" diff --git a/test/registered/debug_utils/comparator/test_log_sink.py b/test/registered/debug_utils/comparator/test_log_sink.py index 90a960d93..d825528f8 100644 --- a/test/registered/debug_utils/comparator/test_log_sink.py +++ b/test/registered/debug_utils/comparator/test_log_sink.py @@ -11,7 +11,7 @@ from sglang.srt.debug_utils.comparator.output_types import ( from sglang.srt.debug_utils.comparator.report_sink import report_sink from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _make_error_log(**overrides) -> ErrorLog: diff --git a/test/registered/debug_utils/comparator/test_manually_verify.py b/test/registered/debug_utils/comparator/test_manually_verify.py index d69c939d7..b255aed0d 100644 --- a/test/registered/debug_utils/comparator/test_manually_verify.py +++ b/test/registered/debug_utils/comparator/test_manually_verify.py @@ -23,7 +23,7 @@ import torch from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=60, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=60, suite="base-a-test-cpu", nightly=True) _PUBLISH_DIR: Path = Path("/tmp/comparator_manual_verify") _PNG_MAGIC: bytes = b"\x89PNG" diff --git a/test/registered/debug_utils/comparator/test_meta_overrider.py b/test/registered/debug_utils/comparator/test_meta_overrider.py index fe2746f8c..517f8d5ce 100644 --- a/test/registered/debug_utils/comparator/test_meta_overrider.py +++ b/test/registered/debug_utils/comparator/test_meta_overrider.py @@ -16,7 +16,7 @@ from sglang.srt.debug_utils.comparator.meta_overrider import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) # ───────────────────── Unit: MetaOverrideRule ───────────────────── diff --git a/test/registered/debug_utils/comparator/test_model_validation.py b/test/registered/debug_utils/comparator/test_model_validation.py index cb88f72f9..cbbe9d289 100644 --- a/test/registered/debug_utils/comparator/test_model_validation.py +++ b/test/registered/debug_utils/comparator/test_model_validation.py @@ -44,7 +44,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.types import ( from sglang.srt.debug_utils.comparator.utils import Pair, _check_equal_lengths from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) class TestCheckEqualLengths: diff --git a/test/registered/debug_utils/comparator/test_output_types.py b/test/registered/debug_utils/comparator/test_output_types.py index 2ddbca1ed..8623b7c43 100644 --- a/test/registered/debug_utils/comparator/test_output_types.py +++ b/test/registered/debug_utils/comparator/test_output_types.py @@ -55,7 +55,7 @@ from sglang.srt.debug_utils.comparator.output_types import ( from sglang.srt.debug_utils.comparator.utils import Pair from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) def _render_rich(renderable: object) -> str: diff --git a/test/registered/debug_utils/comparator/test_per_token_visualizer.py b/test/registered/debug_utils/comparator/test_per_token_visualizer.py index a12ef1211..f79524313 100644 --- a/test/registered/debug_utils/comparator/test_per_token_visualizer.py +++ b/test/registered/debug_utils/comparator/test_per_token_visualizer.py @@ -15,7 +15,7 @@ from sglang.srt.debug_utils.comparator.tensor_comparator.comparator import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) _PNG_MAGIC: bytes = b"\x89PNG" diff --git a/test/registered/debug_utils/comparator/test_preset.py b/test/registered/debug_utils/comparator/test_preset.py index 4ccb84647..b7308b840 100644 --- a/test/registered/debug_utils/comparator/test_preset.py +++ b/test/registered/debug_utils/comparator/test_preset.py @@ -3,7 +3,7 @@ import pytest from sglang.srt.debug_utils.comparator.preset import PRESETS, expand_preset from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=5, suite="base-a-test-cpu", nightly=True) class TestExpandPreset: diff --git a/test/registered/debug_utils/comparator/test_utils.py b/test/registered/debug_utils/comparator/test_utils.py index df2677cab..9e43c70ae 100644 --- a/test/registered/debug_utils/comparator/test_utils.py +++ b/test/registered/debug_utils/comparator/test_utils.py @@ -17,7 +17,7 @@ from sglang.srt.debug_utils.comparator.utils import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) class TestCalcRelDiff: diff --git a/test/registered/debug_utils/comparator/test_visualizer.py b/test/registered/debug_utils/comparator/test_visualizer.py index c6aba96a9..772d26477 100644 --- a/test/registered/debug_utils/comparator/test_visualizer.py +++ b/test/registered/debug_utils/comparator/test_visualizer.py @@ -10,7 +10,7 @@ from sglang.srt.debug_utils.comparator.visualizer.preprocessing import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) class TestPreprocessTensor: diff --git a/test/registered/debug_utils/comparator/testing_helpers.py b/test/registered/debug_utils/comparator/testing_helpers.py index c2e20c679..f1d177ff8 100644 --- a/test/registered/debug_utils/comparator/testing_helpers.py +++ b/test/registered/debug_utils/comparator/testing_helpers.py @@ -12,7 +12,7 @@ from sglang.test.ci.ci_register import register_cpu_ci register_cpu_ci( est_time=0, - suite="stage-a-test-cpu", + suite="base-a-test-cpu", nightly=True, disabled="helper module, no tests", ) diff --git a/test/registered/debug_utils/source_patcher/test_code_patcher.py b/test/registered/debug_utils/source_patcher/test_code_patcher.py index 2106ad6a1..2e33ee7fb 100644 --- a/test/registered/debug_utils/source_patcher/test_code_patcher.py +++ b/test/registered/debug_utils/source_patcher/test_code_patcher.py @@ -10,7 +10,7 @@ from sglang.srt.debug_utils.source_patcher.code_patcher import ( from sglang.srt.debug_utils.source_patcher.types import EditSpec, PatchSpec from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module" diff --git a/test/registered/debug_utils/source_patcher/test_dumper_integration.py b/test/registered/debug_utils/source_patcher/test_dumper_integration.py index 2b8be98bf..ef5872979 100644 --- a/test/registered/debug_utils/source_patcher/test_dumper_integration.py +++ b/test/registered/debug_utils/source_patcher/test_dumper_integration.py @@ -8,7 +8,7 @@ import yaml from sglang.srt.debug_utils.dumper import DumperConfig, _Dumper from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) SAMPLE_MODULE_NAME = "_source_patcher_test_fixtures.sample_module" diff --git a/test/registered/debug_utils/source_patcher/test_source_editor.py b/test/registered/debug_utils/source_patcher/test_source_editor.py index fd5334be4..69d8d4951 100644 --- a/test/registered/debug_utils/source_patcher/test_source_editor.py +++ b/test/registered/debug_utils/source_patcher/test_source_editor.py @@ -5,7 +5,7 @@ from sglang.srt.debug_utils.source_patcher.source_editor import apply_edits from sglang.srt.debug_utils.source_patcher.types import EditSpec, PatchApplicationError from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=10, suite="base-a-test-cpu", nightly=True) class TestApplyEdits: diff --git a/test/registered/debug_utils/test_cuda_coredump.py b/test/registered/debug_utils/test_cuda_coredump.py index 21e2becef..d397dbe23 100644 --- a/test/registered/debug_utils/test_cuda_coredump.py +++ b/test/registered/debug_utils/test_cuda_coredump.py @@ -12,7 +12,7 @@ from sglang.test.ci.ci_register import register_cuda_ci register_cuda_ci( est_time=10, - stage="stage-a", + stage="base-a", runner_config="1-gpu-small", disabled="Manual only: triggers intentional CUDA crash for coredump verification", ) diff --git a/test/registered/debug_utils/test_dump_comparator.py b/test/registered/debug_utils/test_dump_comparator.py index 5d4945189..d269bee48 100644 --- a/test/registered/debug_utils/test_dump_comparator.py +++ b/test/registered/debug_utils/test_dump_comparator.py @@ -9,7 +9,7 @@ from sglang.srt.debug_utils.dump_comparator import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) # ----------------------------- Unit tests ----------------------------- diff --git a/test/registered/debug_utils/test_dump_loader.py b/test/registered/debug_utils/test_dump_loader.py index fed3a5e8a..bc6a73bfc 100644 --- a/test/registered/debug_utils/test_dump_loader.py +++ b/test/registered/debug_utils/test_dump_loader.py @@ -15,7 +15,7 @@ from sglang.srt.debug_utils.dump_loader import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) class TestReadMeta: diff --git a/test/registered/debug_utils/test_schedule_simulator.py b/test/registered/debug_utils/test_schedule_simulator.py index dc7dc35c9..be82ed38c 100644 --- a/test/registered/debug_utils/test_schedule_simulator.py +++ b/test/registered/debug_utils/test_schedule_simulator.py @@ -25,7 +25,7 @@ from sglang.srt.debug_utils.schedule_simulator import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=120, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=120, suite="base-a-test-cpu", nightly=True) # ==================== Non-E2E Tests ==================== diff --git a/test/registered/debug_utils/test_tensor_dump_forward_hook.py b/test/registered/debug_utils/test_tensor_dump_forward_hook.py index df8f7527f..4ebbfd17d 100644 --- a/test/registered/debug_utils/test_tensor_dump_forward_hook.py +++ b/test/registered/debug_utils/test_tensor_dump_forward_hook.py @@ -19,7 +19,7 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci register_cuda_ci( est_time=9, - stage="stage-b", + stage="base-b", runner_config="1-gpu-small", disabled="Test uses pytest-style function without TestCase class - see #17145", ) diff --git a/test/registered/disaggregation/test_disaggregation_basic.py b/test/registered/disaggregation/test_disaggregation_basic.py index f14cc1756..f2ee9de56 100644 --- a/test/registered/disaggregation/test_disaggregation_basic.py +++ b/test/registered/disaggregation/test_disaggregation_basic.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( DEFAULT_TARGET_MODEL_EAGLE3, ) -register_cuda_ci(est_time=509, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=509, stage="base-b", runner_config="2-gpu-large") class TestDisaggregationAccuracy(PauseResumeInPlaceMixin, PDDisaggregationServerBase): diff --git a/test/registered/disaggregation/test_disaggregation_decode_offload.py b/test/registered/disaggregation/test_disaggregation_decode_offload.py index 689175897..9a8baba68 100644 --- a/test/registered/disaggregation/test_disaggregation_decode_offload.py +++ b/test/registered/disaggregation/test_disaggregation_decode_offload.py @@ -19,7 +19,7 @@ from sglang.test.test_utils import ( # Increasing estimated time since we run evaluation twice register_cuda_ci( est_time=600, - stage="stage-b", + stage="base-b", runner_config="2-gpu-large", disabled="Temporarily disable the flaky test.", ) diff --git a/test/registered/disaggregation/test_disaggregation_xpu.py b/test/registered/disaggregation/test_disaggregation_xpu.py index e3a5e6a94..8034966e6 100644 --- a/test/registered/disaggregation/test_disaggregation_xpu.py +++ b/test/registered/disaggregation/test_disaggregation_xpu.py @@ -26,7 +26,7 @@ from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST_QWEN register_cuda_ci( est_time=300, - stage="stage-a", + stage="base-a", runner_config="1-gpu-small", disabled="Intel XPU only — not available in standard CUDA CI", ) diff --git a/test/registered/disaggregation/test_specv2_kvcache_offloading.py b/test/registered/disaggregation/test_specv2_kvcache_offloading.py index 8d70919d1..d9876dbcd 100644 --- a/test/registered/disaggregation/test_specv2_kvcache_offloading.py +++ b/test/registered/disaggregation/test_specv2_kvcache_offloading.py @@ -17,7 +17,7 @@ from sglang.srt.disaggregation.decode_kvcache_offload_manager import ( ) from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=8, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-small") def _make_mock_req( diff --git a/test/registered/distributed/test_data_parallelism.py b/test/registered/distributed/test_data_parallelism.py index f79b8eae7..acf68ed27 100644 --- a/test/registered/distributed/test_data_parallelism.py +++ b/test/registered/distributed/test_data_parallelism.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=91, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=91, stage="base-b", runner_config="2-gpu-large") register_amd_ci(est_time=73, suite="stage-b-test-2-gpu-large-amd") diff --git a/test/registered/distributed/test_disaggregation_aarch64.py b/test/registered/distributed/test_disaggregation_aarch64.py index 850343569..5c8630282 100644 --- a/test/registered/distributed/test_disaggregation_aarch64.py +++ b/test/registered/distributed/test_disaggregation_aarch64.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( popen_launch_pd_server, ) -register_cuda_ci(est_time=300, stage="stage-c", runner_config="4-gpu-gb200") +register_cuda_ci(est_time=300, stage="base-c", runner_config="4-gpu-gb200") class TestDisaggregationMooncakeAARCH64Accuracy(PDDisaggregationServerBase): diff --git a/test/registered/distributed/test_disaggregation_decode_radix_cache.py b/test/registered/distributed/test_disaggregation_decode_radix_cache.py index 57a15bc3d..249443c58 100644 --- a/test/registered/distributed/test_disaggregation_decode_radix_cache.py +++ b/test/registered/distributed/test_disaggregation_decode_radix_cache.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=300, stage="stage-c", runner_config="8-gpu-h20") +register_cuda_ci(est_time=300, stage="base-c", runner_config="8-gpu-h20") def _has_nixl(): diff --git a/test/registered/distributed/test_disaggregation_different_tp.py b/test/registered/distributed/test_disaggregation_different_tp.py index c9d725b87..e227cd73a 100644 --- a/test/registered/distributed/test_disaggregation_different_tp.py +++ b/test/registered/distributed/test_disaggregation_different_tp.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=375, stage="stage-c", runner_config="8-gpu-h20") +register_cuda_ci(est_time=375, stage="base-c", runner_config="8-gpu-h20") class TestDisaggregationMooncakePrefillLargerTP(PDDisaggregationServerBase): diff --git a/test/registered/distributed/test_disaggregation_dp_attention.py b/test/registered/distributed/test_disaggregation_dp_attention.py index b64a5559b..d7fba1c27 100644 --- a/test/registered/distributed/test_disaggregation_dp_attention.py +++ b/test/registered/distributed/test_disaggregation_dp_attention.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=443, stage="stage-c", runner_config="8-gpu-h20") +register_cuda_ci(est_time=443, stage="base-c", runner_config="8-gpu-h20") class TestDisaggregationDPAttention(PDDisaggregationServerBase): diff --git a/test/registered/distributed/test_disaggregation_dsv4.py b/test/registered/distributed/test_disaggregation_dsv4.py index 392996508..e20513fbc 100644 --- a/test/registered/distributed/test_disaggregation_dsv4.py +++ b/test/registered/distributed/test_disaggregation_dsv4.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=250, stage="stage-c", runner_config="dsv4-8-gpu-h200") +register_cuda_ci(est_time=250, stage="base-c", runner_config="dsv4-8-gpu-h200") DSV4_FLASH_MODEL = "sgl-project/DeepSeek-V4-Flash-FP8" diff --git a/test/registered/distributed/test_disaggregation_pp.py b/test/registered/distributed/test_disaggregation_pp.py index e04c7b271..05d052214 100644 --- a/test/registered/distributed/test_disaggregation_pp.py +++ b/test/registered/distributed/test_disaggregation_pp.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=216, stage="stage-c", runner_config="8-gpu-h20") +register_cuda_ci(est_time=216, stage="base-c", runner_config="8-gpu-h20") class TestDisaggregationPrefillPPAccuracy(PDDisaggregationServerBase): diff --git a/test/registered/distributed/test_dp_attention.py b/test/registered/distributed/test_dp_attention.py index cae258138..583d8fde8 100644 --- a/test/registered/distributed/test_dp_attention.py +++ b/test/registered/distributed/test_dp_attention.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=420, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=420, stage="base-b", runner_config="2-gpu-large") class TestDPAttentionDP2TP2( diff --git a/test/registered/distributed/test_flashinfer_fusion_preflight.py b/test/registered/distributed/test_flashinfer_fusion_preflight.py index 118a0b554..ea06d0124 100644 --- a/test/registered/distributed/test_flashinfer_fusion_preflight.py +++ b/test/registered/distributed/test_flashinfer_fusion_preflight.py @@ -11,7 +11,7 @@ from sglang.srt.utils import get_cuda_driver_bindings, is_flashinfer_available from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=30, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=30, stage="base-b", runner_config="2-gpu-large") WORLD_SIZE = 2 diff --git a/test/registered/distributed/test_parallel_state.py b/test/registered/distributed/test_parallel_state.py index 1a3994c49..1a6959e46 100644 --- a/test/registered/distributed/test_parallel_state.py +++ b/test/registered/distributed/test_parallel_state.py @@ -43,7 +43,7 @@ import pytest from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=8, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=8, suite="stage-b-test-1-gpu-small-amd") # Import the actual parallel_state module diff --git a/test/registered/distributed/test_pp_single_node.py b/test/registered/distributed/test_pp_single_node.py index 519bb5573..85dafad5c 100644 --- a/test/registered/distributed/test_pp_single_node.py +++ b/test/registered/distributed/test_pp_single_node.py @@ -32,7 +32,7 @@ from sglang.test.test_utils import ( run_bench_one_batch_server, ) -register_cuda_ci(est_time=554, stage="stage-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=554, stage="base-c", runner_config="4-gpu-h100") register_amd_ci(est_time=650, suite="stage-c-test-4-gpu-amd") diff --git a/test/registered/dllm/test_llada2_mini.py b/test/registered/dllm/test_llada2_mini.py index 33ed3c861..7b869c70c 100644 --- a/test/registered/dllm/test_llada2_mini.py +++ b/test/registered/dllm/test_llada2_mini.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=139, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=139, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=330, suite="stage-b-test-1-gpu-small-amd") import unittest diff --git a/test/registered/dsa_models_e2e/test_dsa_glm5_dp_mtp.py b/test/registered/dsa_models_e2e/test_dsa_glm5_dp_mtp.py index 7ba2b6101..b81f47495 100644 --- a/test/registered/dsa_models_e2e/test_dsa_glm5_dp_mtp.py +++ b/test/registered/dsa_models_e2e/test_dsa_glm5_dp_mtp.py @@ -10,7 +10,7 @@ from sglang.test.server_fixtures.dsa_mtp_fixture import ( register_cuda_ci( est_time=400, - stage="stage-c", + stage="base-c", runner_config="8-gpu-h200", ) diff --git a/test/registered/dsa_models_e2e/test_dsa_glm5_tp_mtp.py b/test/registered/dsa_models_e2e/test_dsa_glm5_tp_mtp.py index 44c7afe64..5e5415de6 100644 --- a/test/registered/dsa_models_e2e/test_dsa_glm5_tp_mtp.py +++ b/test/registered/dsa_models_e2e/test_dsa_glm5_tp_mtp.py @@ -10,7 +10,7 @@ from sglang.test.server_fixtures.dsa_mtp_fixture import ( register_cuda_ci( est_time=400, - stage="stage-c", + stage="base-c", runner_config="8-gpu-h200", ) diff --git a/test/registered/dsv4/test_deepseek_v4_flash_fp4_b200.py b/test/registered/dsv4/test_deepseek_v4_flash_fp4_b200.py index 6021f6109..212f2b6b2 100644 --- a/test/registered/dsv4/test_deepseek_v4_flash_fp4_b200.py +++ b/test/registered/dsv4/test_deepseek_v4_flash_fp4_b200.py @@ -4,7 +4,7 @@ Launches TP=4 with flashinfer_mxfp4 MoE runner + EAGLE speculative decoding. Runs 12 ServerSanity probes (correctness, streaming, concurrency, determinism) plus a GSM8K accuracy gate. -Registry: stage-c-test-dsv4-4-gpu-b200 (per-commit, 4x B200) +Registry: base-c-test-dsv4-4-gpu-b200 (per-commit, 4x B200) """ import unittest @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=700, stage="stage-c", runner_config="dsv4-4-gpu-b200") +register_cuda_ci(est_time=700, stage="base-c", runner_config="dsv4-4-gpu-b200") MODEL = "deepseek-ai/DeepSeek-V4-Flash" SERVER_LAUNCH_TIMEOUT = 3600 diff --git a/test/registered/dsv4/test_deepseek_v4_flash_fp4_h200.py b/test/registered/dsv4/test_deepseek_v4_flash_fp4_h200.py index bc1469fe1..a7ec88931 100644 --- a/test/registered/dsv4/test_deepseek_v4_flash_fp4_h200.py +++ b/test/registered/dsv4/test_deepseek_v4_flash_fp4_h200.py @@ -4,7 +4,7 @@ Launches TP=4 with Marlin FP4 MoE runner + EAGLE speculative decoding. Runs 12 ServerSanity probes (correctness, streaming, concurrency, determinism) plus a GSM8K accuracy gate. -Registry: stage-c-test-dsv4-8-gpu-h200 (per-commit, 8x H200 — only 4 used by TP=4) +Registry: base-c-test-dsv4-8-gpu-h200 (per-commit, 8x H200 — only 4 used by TP=4) """ import unittest @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=370, stage="stage-c", runner_config="dsv4-8-gpu-h200") +register_cuda_ci(est_time=370, stage="base-c", runner_config="dsv4-8-gpu-h200") def _flashinfer_has_sm90_cutlass_mxfp4() -> bool: diff --git a/test/registered/dsv4/test_deepseek_v4_flash_fp4_megamoe_b200.py b/test/registered/dsv4/test_deepseek_v4_flash_fp4_megamoe_b200.py index ce962adfb..6cf20c8b3 100644 --- a/test/registered/dsv4/test_deepseek_v4_flash_fp4_megamoe_b200.py +++ b/test/registered/dsv4/test_deepseek_v4_flash_fp4_megamoe_b200.py @@ -4,7 +4,7 @@ Launches TP=4 with flashinfer_mxfp4 MoE runner + EAGLE speculative decoding. Runs 12 ServerSanity probes (correctness, streaming, concurrency, determinism) plus a GSM8K accuracy gate. -Registry: stage-c-test-dsv4-4-gpu-b200 (per-commit, 4x B200) +Registry: base-c-test-dsv4-4-gpu-b200 (per-commit, 4x B200) """ import unittest @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=900, stage="stage-c", runner_config="dsv4-4-gpu-b200") +register_cuda_ci(est_time=900, stage="base-c", runner_config="dsv4-4-gpu-b200") MODEL = "deepseek-ai/DeepSeek-V4-Flash" SERVER_LAUNCH_TIMEOUT = 3600 diff --git a/test/registered/dsv4/test_deepseek_v4_flash_fp8_h200.py b/test/registered/dsv4/test_deepseek_v4_flash_fp8_h200.py index c22c72b3b..3fc82e4c8 100644 --- a/test/registered/dsv4/test_deepseek_v4_flash_fp8_h200.py +++ b/test/registered/dsv4/test_deepseek_v4_flash_fp8_h200.py @@ -5,7 +5,7 @@ with FP4 experts disabled via SGLANG_DSV4_FP4_EXPERTS=0. Runs 12 ServerSanity probes (correctness, streaming, concurrency, determinism) plus a GSM8K accuracy gate. -Registry: stage-c-test-dsv4-8-gpu-h200 (per-commit, 8x H200 — only 4 used by TP=4) +Registry: base-c-test-dsv4-8-gpu-h200 (per-commit, 8x H200 — only 4 used by TP=4) """ import unittest @@ -22,7 +22,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=280, stage="stage-c", runner_config="dsv4-8-gpu-h200") +register_cuda_ci(est_time=280, stage="base-c", runner_config="dsv4-8-gpu-h200") MODEL_FP8 = "sgl-project/DeepSeek-V4-Flash-FP8" SERVER_LAUNCH_TIMEOUT = 3600 diff --git a/test/registered/ep/test_deepep_small.py b/test/registered/ep/test_deepep_small.py index abc672cfc..b5a75a006 100644 --- a/test/registered/ep/test_deepep_small.py +++ b/test/registered/ep/test_deepep_small.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=478, stage="stage-c", runner_config="deepep-4-gpu-h100") +register_cuda_ci(est_time=478, stage="base-c", runner_config="deepep-4-gpu-h100") class TestPureDP(CustomTestCase): diff --git a/test/registered/ep/test_mooncake_ep_small.py b/test/registered/ep/test_mooncake_ep_small.py index 3fac6eb69..aa6b11425 100644 --- a/test/registered/ep/test_mooncake_ep_small.py +++ b/test/registered/ep/test_mooncake_ep_small.py @@ -15,7 +15,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=82, stage="stage-c", runner_config="deepep-4-gpu-h100") +register_cuda_ci(est_time=82, stage="base-c", runner_config="deepep-4-gpu-h100") ib_devices = get_rdma_devices_args() diff --git a/test/registered/function_call/test_kimik2_detector.py b/test/registered/function_call/test_kimik2_detector.py index be0cd83c1..7352472cb 100644 --- a/test/registered/function_call/test_kimik2_detector.py +++ b/test/registered/function_call/test_kimik2_detector.py @@ -11,7 +11,7 @@ from sglang.srt.function_call.kimik2_detector import ( from sglang.srt.parser.reasoning_parser import KimiK2Detector as KimiK2ReasoningDetector from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(5, "stage-a-test-cpu") +register_cpu_ci(5, "base-a-test-cpu") def _make_tool(name, parameters=None): diff --git a/test/registered/hicache/test_hicache_storage.py b/test/registered/hicache/test_hicache_storage.py index 1ae355593..b4f7ae013 100644 --- a/test/registered/hicache/test_hicache_storage.py +++ b/test/registered/hicache/test_hicache_storage.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=99, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=99, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=300, suite="stage-b-test-1-gpu-small-amd") import time diff --git a/test/registered/hicache/test_hicache_storage_3fs_backend.py b/test/registered/hicache/test_hicache_storage_3fs_backend.py index 124b43d83..aac442efd 100644 --- a/test/registered/hicache/test_hicache_storage_3fs_backend.py +++ b/test/registered/hicache/test_hicache_storage_3fs_backend.py @@ -13,8 +13,8 @@ from test_hicache_storage_file_backend import HiCacheStorageBaseMixin from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=150, stage="stage-b", runner_config="2-gpu-large") -register_amd_ci(est_time=300, suite="stage-b-test-2-gpu-large") +register_cuda_ci(est_time=150, stage="base-b", runner_config="2-gpu-large") +register_amd_ci(est_time=300, suite="base-b-test-2-gpu-large") class HiCacheStorage3FSBackendBaseMixin(HiCacheStorageBaseMixin): diff --git a/test/registered/hicache/test_hicache_storage_file_backend.py b/test/registered/hicache/test_hicache_storage_file_backend.py index 163a9fe7b..8f38636f5 100644 --- a/test/registered/hicache/test_hicache_storage_file_backend.py +++ b/test/registered/hicache/test_hicache_storage_file_backend.py @@ -31,7 +31,7 @@ from sglang.test.test_utils import ( ) from sglang.utils import wait_for_http_ready -register_cuda_ci(est_time=148, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=148, stage="base-b", runner_config="2-gpu-large") register_amd_ci(est_time=526, suite="stage-b-test-2-gpu-large-amd") diff --git a/test/registered/hicache/test_hicache_storage_mooncake_backend.py b/test/registered/hicache/test_hicache_storage_mooncake_backend.py index 15ae0f05b..949bfda2c 100644 --- a/test/registered/hicache/test_hicache_storage_mooncake_backend.py +++ b/test/registered/hicache/test_hicache_storage_mooncake_backend.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( is_in_ci, ) -register_cuda_ci(est_time=236, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=236, stage="base-b", runner_config="2-gpu-large") class HiCacheStorageMooncakeBackendBaseMixin(HiCacheStorageBaseMixin): diff --git a/test/registered/hicache/test_hicache_storage_runtime_attach_detach.py b/test/registered/hicache/test_hicache_storage_runtime_attach_detach.py index cf74ba4e8..8dbb452c3 100644 --- a/test/registered/hicache/test_hicache_storage_runtime_attach_detach.py +++ b/test/registered/hicache/test_hicache_storage_runtime_attach_detach.py @@ -28,7 +28,7 @@ from sglang.test.test_utils import ( ) from sglang.utils import wait_for_http_ready -register_cuda_ci(est_time=139, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=139, stage="base-b", runner_config="2-gpu-large") class TestHiCacheStorageRuntimeAttachDetach(CustomTestCase): diff --git a/test/registered/hicache/test_hicache_variants.py b/test/registered/hicache/test_hicache_variants.py index 671220446..36e2c4148 100644 --- a/test/registered/hicache/test_hicache_variants.py +++ b/test/registered/hicache/test_hicache_variants.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=450, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=450, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=524, suite="stage-b-test-1-gpu-small-amd") """ Consolidated HiCache variant tests. diff --git a/test/registered/input_embedding/test_input_embeddings.py b/test/registered/input_embedding/test_input_embeddings.py index 32736e8ef..fc49562cd 100644 --- a/test/registered/input_embedding/test_input_embeddings.py +++ b/test/registered/input_embedding/test_input_embeddings.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=42, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=42, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=38, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/input_embedding/test_input_embeds_chunked.py b/test/registered/input_embedding/test_input_embeds_chunked.py index 800058930..878df0136 100644 --- a/test/registered/input_embedding/test_input_embeds_chunked.py +++ b/test/registered/input_embedding/test_input_embeds_chunked.py @@ -30,7 +30,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=43, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=43, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=43, suite="stage-b-test-1-gpu-small-amd") CHUNKED_PREFILL_SIZE = 256 diff --git a/test/registered/kernels/test_nsa_indexer.py b/test/registered/kernels/test_nsa_indexer.py index 56958121c..e1d877012 100644 --- a/test/registered/kernels/test_nsa_indexer.py +++ b/test/registered/kernels/test_nsa_indexer.py @@ -24,7 +24,7 @@ from sglang.srt.model_executor.forward_batch_info import ForwardBatch, ForwardMo from sglang.srt.server_args import ServerArgs, set_global_server_args_for_scheduler from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=18, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=18, stage="base-b", runner_config="1-gpu-large") # Global configuration for all indexer tests DEFAULT_CONFIG = { diff --git a/test/registered/language/test_srt_backend.py b/test/registered/language/test_srt_backend.py index 8b775bea9..f39bef459 100644 --- a/test/registered/language/test_srt_backend.py +++ b/test/registered/language/test_srt_backend.py @@ -20,7 +20,7 @@ from sglang.test.test_programs import ( ) from sglang.test.test_utils import DEFAULT_MODEL_NAME_FOR_TEST, CustomTestCase -register_cuda_ci(est_time=79, stage="stage-a", runner_config="1-gpu-small") +register_cuda_ci(est_time=79, stage="base-a", runner_config="1-gpu-small") register_amd_ci(est_time=120, suite="stage-a-test-1-gpu-small-amd") diff --git a/test/registered/layers/mamba/test_causal_conv1d.py b/test/registered/layers/mamba/test_causal_conv1d.py index 06f0958f5..e3e8d2a9d 100644 --- a/test/registered/layers/mamba/test_causal_conv1d.py +++ b/test/registered/layers/mamba/test_causal_conv1d.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=25, suite="stage-b-test-1-gpu-small-amd") # Adapted from https://github.com/vllm-project/vllm/blob/main/tests/kernels/mamba/test_causal_conv1d.py diff --git a/test/registered/layers/mamba/test_mamba2_mixer.py b/test/registered/layers/mamba/test_mamba2_mixer.py index 5fd7e62d1..d5a0c823d 100644 --- a/test/registered/layers/mamba/test_mamba2_mixer.py +++ b/test/registered/layers/mamba/test_mamba2_mixer.py @@ -18,7 +18,7 @@ from sglang.srt.distributed.parallel_state import ( from sglang.srt.utils import get_device, get_device_count from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=32, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=32, stage="base-b", runner_config="2-gpu-large") NUM_GPUS = 2 diff --git a/test/registered/layers/mamba/test_mamba_ssm.py b/test/registered/layers/mamba/test_mamba_ssm.py index 510bd8aee..39c749eb4 100644 --- a/test/registered/layers/mamba/test_mamba_ssm.py +++ b/test/registered/layers/mamba/test_mamba_ssm.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=20, suite="stage-b-test-1-gpu-small-amd") # Adapted from https://github.com/vllm-project/vllm/blob/633f943e30a4444d890d26b81850f7217736f840/tests/kernels/mamba/test_mamba_ssm_ssd.py diff --git a/test/registered/layers/mamba/test_mamba_ssm_ssd.py b/test/registered/layers/mamba/test_mamba_ssm_ssd.py index bd2b1b255..2e9d93a4d 100644 --- a/test/registered/layers/mamba/test_mamba_ssm_ssd.py +++ b/test/registered/layers/mamba/test_mamba_ssm_ssd.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=34, suite="stage-b-test-1-gpu-small-amd") # Adapted from https://github.com/vllm-project/vllm/blob/633f943e30a4444d890d26b81850f7217736f840/tests/kernels/mamba/test_mamba_ssm_ssd.py diff --git a/test/registered/layers/test_fla_layernorm_guard.py b/test/registered/layers/test_fla_layernorm_guard.py index b65415f7b..d860d3b71 100644 --- a/test/registered/layers/test_fla_layernorm_guard.py +++ b/test/registered/layers/test_fla_layernorm_guard.py @@ -19,7 +19,7 @@ from sglang.test.ci.ci_register import register_cuda_ci register_cuda_ci( est_time=60, - stage="stage-b", + stage="base-b", runner_config="2-gpu-large", disabled="Temporarily disabled", ) diff --git a/test/registered/lora/test_fused_moe_lora_kernel.py b/test/registered/lora/test_fused_moe_lora_kernel.py index 5fc4bc809..9b152464c 100644 --- a/test/registered/lora/test_fused_moe_lora_kernel.py +++ b/test/registered/lora/test_fused_moe_lora_kernel.py @@ -15,7 +15,7 @@ from sglang.test.ci.ci_register import register_cuda_ci # ============================================================================== -register_cuda_ci(est_time=28, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=28, stage="base-b", runner_config="1-gpu-large") def round_up(x, base): diff --git a/test/registered/lora/test_lora_hf_sgl_logprob_diff.py b/test/registered/lora/test_lora_hf_sgl_logprob_diff.py index 0f17d0788..efebc2e1b 100644 --- a/test/registered/lora/test_lora_hf_sgl_logprob_diff.py +++ b/test/registered/lora/test_lora_hf_sgl_logprob_diff.py @@ -41,7 +41,7 @@ from sglang.test.test_utils import DEFAULT_PORT_FOR_SRT_TEST_RUNNER, CustomTestC register_cuda_ci( est_time=150, - stage="stage-b", + stage="base-b", runner_config="1-gpu-small", ) register_amd_ci( diff --git a/test/registered/lora/test_lora_moe_vllm_sgl_logprob_diff.py b/test/registered/lora/test_lora_moe_vllm_sgl_logprob_diff.py index a2f397a5e..a35e69dd9 100644 --- a/test/registered/lora/test_lora_moe_vllm_sgl_logprob_diff.py +++ b/test/registered/lora/test_lora_moe_vllm_sgl_logprob_diff.py @@ -26,7 +26,7 @@ from sglang.test.runners import SRTRunner register_cuda_ci( est_time=50, - stage="stage-b", + stage="base-b", runner_config="1-gpu-large", ) diff --git a/test/registered/lora/test_lora_overlap_loading.py b/test/registered/lora/test_lora_overlap_loading.py index 36964f7f3..ea7765cf6 100644 --- a/test/registered/lora/test_lora_overlap_loading.py +++ b/test/registered/lora/test_lora_overlap_loading.py @@ -29,7 +29,7 @@ from sglang.test.lora_utils import ( ) from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=48, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=48, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=75, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/lora/test_lora_qwen3_5_35b_a3b_logprob_diff.py b/test/registered/lora/test_lora_qwen3_5_35b_a3b_logprob_diff.py index ea959653b..489418f80 100644 --- a/test/registered/lora/test_lora_qwen3_5_35b_a3b_logprob_diff.py +++ b/test/registered/lora/test_lora_qwen3_5_35b_a3b_logprob_diff.py @@ -36,7 +36,7 @@ from sglang.test.test_utils import CustomTestCase register_cuda_ci( est_time=110, - stage="stage-c", + stage="base-c", runner_config="4-gpu-b200", ) diff --git a/test/registered/lora/test_lora_qwen3_vl_30b_a3b_instruct_logprob_diff.py b/test/registered/lora/test_lora_qwen3_vl_30b_a3b_instruct_logprob_diff.py index 90cafd6a5..01a62e78b 100644 --- a/test/registered/lora/test_lora_qwen3_vl_30b_a3b_instruct_logprob_diff.py +++ b/test/registered/lora/test_lora_qwen3_vl_30b_a3b_instruct_logprob_diff.py @@ -36,7 +36,7 @@ from sglang.test.test_utils import CustomTestCase register_cuda_ci( est_time=110, - stage="stage-c", + stage="base-c", runner_config="4-gpu-b200", ) diff --git a/test/registered/lora/test_lora_tp.py b/test/registered/lora/test_lora_tp.py index 7f2ad6b78..3ed859d11 100644 --- a/test/registered/lora/test_lora_tp.py +++ b/test/registered/lora/test_lora_tp.py @@ -31,7 +31,7 @@ from sglang.test.test_utils import CustomTestCase, is_in_ci register_cuda_ci( est_time=230, - stage="stage-c", + stage="base-c", runner_config="8-gpu-h200", ) register_amd_ci( diff --git a/test/registered/lora/test_lora_update.py b/test/registered/lora/test_lora_update.py index ea01a512d..977817961 100644 --- a/test/registered/lora/test_lora_update.py +++ b/test/registered/lora/test_lora_update.py @@ -36,7 +36,7 @@ from sglang.test.test_utils import ( register_cuda_ci( est_time=487, - stage="stage-b", + stage="base-b", runner_config="1-gpu-large", ) diff --git a/test/registered/lora/test_multi_lora_backend.py b/test/registered/lora/test_multi_lora_backend.py index 9cb87da63..5f3e372e8 100644 --- a/test/registered/lora/test_multi_lora_backend.py +++ b/test/registered/lora/test_multi_lora_backend.py @@ -25,7 +25,7 @@ from sglang.test.lora_utils import ( ) from sglang.test.test_utils import CustomTestCase, is_in_ci -register_cuda_ci(est_time=99, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=99, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=100, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/lora/test_virtual_experts_kernels.py b/test/registered/lora/test_virtual_experts_kernels.py index 94106b123..91423abc8 100644 --- a/test/registered/lora/test_virtual_experts_kernels.py +++ b/test/registered/lora/test_virtual_experts_kernels.py @@ -30,7 +30,7 @@ import torch from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=15, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=15, stage="base-b", runner_config="1-gpu-small") from sglang.srt.lora.triton_ops.virtual_experts import ( _align_block_size_jit, diff --git a/test/registered/mla/test_flashmla.py b/test/registered/mla/test_flashmla.py index a73086560..18c221c8d 100644 --- a/test/registered/mla/test_flashmla.py +++ b/test/registered/mla/test_flashmla.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( ) # FlashMLA attention backend tests with MTP speculative decoding -register_cuda_ci(est_time=160, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=160, stage="base-b", runner_config="1-gpu-large") class TestFlashMLAMTP(CustomTestCase): diff --git a/test/registered/mla/test_mla_flashinfer.py b/test/registered/mla/test_mla_flashinfer.py index e57eddbb3..5c000cc75 100644 --- a/test/registered/mla/test_mla_flashinfer.py +++ b/test/registered/mla/test_mla_flashinfer.py @@ -15,7 +15,7 @@ from sglang.test.test_utils import ( ) # FlashInfer MLA backend tests with MTP speculative decoding -register_cuda_ci(est_time=130, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=130, stage="base-b", runner_config="1-gpu-large") class TestFlashinferMLAMTP(CustomTestCase): diff --git a/test/registered/mla/test_mla_fp8.py b/test/registered/mla/test_mla_fp8.py index 97ce56e38..6ef747c3b 100644 --- a/test/registered/mla/test_mla_fp8.py +++ b/test/registered/mla/test_mla_fp8.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( ) # MLA FP8 KV cache test with MGSM evaluation -register_cuda_ci(est_time=104, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=104, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=800, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/mla/test_mla_int8_deepseek_v3.py b/test/registered/mla/test_mla_int8_deepseek_v3.py index 6d3136834..46f9a8e1e 100644 --- a/test/registered/mla/test_mla_int8_deepseek_v3.py +++ b/test/registered/mla/test_mla_int8_deepseek_v3.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( ) # DeepSeek-V3 INT8 quantization tests (channel and block INT8) -register_cuda_ci(est_time=160, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=160, stage="base-b", runner_config="1-gpu-large") class TestDeepseekV3MTPChannelInt8(CustomTestCase): diff --git a/test/registered/model_loading/test_external_models.py b/test/registered/model_loading/test_external_models.py index a03bffd33..59bef0663 100644 --- a/test/registered/model_loading/test_external_models.py +++ b/test/registered/model_loading/test_external_models.py @@ -5,7 +5,7 @@ from sglang.srt.environ import envs from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=29, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=29, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=45, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/model_loading/test_utils_update_weights.py b/test/registered/model_loading/test_utils_update_weights.py index ff9bd3a54..89bca6240 100644 --- a/test/registered/model_loading/test_utils_update_weights.py +++ b/test/registered/model_loading/test_utils_update_weights.py @@ -12,7 +12,7 @@ from sglang.srt.weight_sync.utils import update_weights from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST -register_cuda_ci(est_time=32, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=32, stage="base-b", runner_config="1-gpu-large") class AsyncEngine(Engine): diff --git a/test/registered/models/test_dummy_grok_models.py b/test/registered/models/test_dummy_grok_models.py index e251db8db..e98413e08 100644 --- a/test/registered/models/test_dummy_grok_models.py +++ b/test/registered/models/test_dummy_grok_models.py @@ -5,7 +5,7 @@ from sglang.test.test_utils import CustomTestCase, is_in_ci, run_bench_one_batch register_cuda_ci( est_time=120, - stage="stage-b", + stage="base-b", runner_config="2-gpu-large", disabled="Temporarily disabled", ) diff --git a/test/registered/models/test_gemma4_fp8_per_expert_loading.py b/test/registered/models/test_gemma4_fp8_per_expert_loading.py index 114f29c9b..468b8baae 100644 --- a/test/registered/models/test_gemma4_fp8_per_expert_loading.py +++ b/test/registered/models/test_gemma4_fp8_per_expert_loading.py @@ -25,7 +25,7 @@ from sglang.test.test_utils import ( # Compressed-tensors per-expert FP8 MoE checkpoint that exercises the # loader path (gated repo + ~27 GB download + 4 GPUs at TP=4). -register_cuda_ci(est_time=120, stage="stage-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=120, stage="base-c", runner_config="4-gpu-h100") @unittest.skipIf(get_device_sm() < 90, "Test requires CUDA SM 90 or higher") diff --git a/test/registered/models/test_kimi_linear_models.py b/test/registered/models/test_kimi_linear_models.py index bc86d5e42..1ce6d7c45 100644 --- a/test/registered/models/test_kimi_linear_models.py +++ b/test/registered/models/test_kimi_linear_models.py @@ -11,7 +11,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=178, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=178, stage="base-b", runner_config="2-gpu-large") class TestKimiLinear(CustomTestCase): diff --git a/test/registered/models/test_ministral3_models.py b/test/registered/models/test_ministral3_models.py index d9a174c2f..f99a2bc26 100644 --- a/test/registered/models/test_ministral3_models.py +++ b/test/registered/models/test_ministral3_models.py @@ -8,7 +8,7 @@ from sglang.test.server_fixtures.mmmu_fixture import MMMUServerBase register_cuda_ci( est_time=200, - stage="stage-b", + stage="base-b", runner_config="1-gpu-small", disabled="Temporarily disabled", ) diff --git a/test/registered/models/test_nvidia_nemotron_3_nano.py b/test/registered/models/test_nvidia_nemotron_3_nano.py index 597eb5101..87e2f708f 100644 --- a/test/registered/models/test_nvidia_nemotron_3_nano.py +++ b/test/registered/models/test_nvidia_nemotron_3_nano.py @@ -6,7 +6,7 @@ from sglang.test.server_fixtures.default_fixture import DefaultServerBase register_cuda_ci( est_time=190, - stage="stage-b", + stage="base-b", runner_config="2-gpu-large", ) diff --git a/test/registered/models/test_transformers_backend_eval.py b/test/registered/models/test_transformers_backend_eval.py index 2a1e96085..47a348848 100644 --- a/test/registered/models/test_transformers_backend_eval.py +++ b/test/registered/models/test_transformers_backend_eval.py @@ -7,7 +7,7 @@ from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.few_shot_gsm8k import run_eval from sglang.test.server_fixtures.default_fixture import DefaultServerBase -register_cuda_ci(est_time=48, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=48, stage="base-b", runner_config="1-gpu-small") class TestTransformersBackendEval(DefaultServerBase): diff --git a/test/registered/models/test_transformers_models.py b/test/registered/models/test_transformers_models.py index 2b8095ff8..01e6a24d9 100644 --- a/test/registered/models/test_transformers_models.py +++ b/test/registered/models/test_transformers_models.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=177, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=177, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=320, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/moe/test_fused_moe.py b/test/registered/moe/test_fused_moe.py index 75249bc7d..6a43bd7a2 100644 --- a/test/registered/moe/test_fused_moe.py +++ b/test/registered/moe/test_fused_moe.py @@ -13,7 +13,7 @@ from sglang.srt.utils import get_device, get_device_capability, is_hip from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase, empty_gpu_cache -register_cuda_ci(est_time=87, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=87, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=30, suite="stage-b-test-1-gpu-small-amd") _is_hip = is_hip() diff --git a/test/registered/moe/test_glm4_moe_models.py b/test/registered/moe/test_glm4_moe_models.py index f4faffe3b..3553605cd 100644 --- a/test/registered/moe/test_glm4_moe_models.py +++ b/test/registered/moe/test_glm4_moe_models.py @@ -11,7 +11,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=171, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=171, stage="base-b", runner_config="2-gpu-large") class TestGLM4MoE(CustomTestCase): diff --git a/test/registered/moe/test_moe_ep.py b/test/registered/moe/test_moe_ep.py index cd1120603..6334a5d2b 100644 --- a/test/registered/moe/test_moe_ep.py +++ b/test/registered/moe/test_moe_ep.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( # Per-commit: TP=2 EP=2 baseline. # DeepGEMM/FP8 variant moved to test_moe_ep_nightly.py. -register_cuda_ci(est_time=279, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=279, stage="base-b", runner_config="2-gpu-large") class TestEp(CustomTestCase): diff --git a/test/registered/moe/test_torch_compile_moe.py b/test/registered/moe/test_torch_compile_moe.py index 495ec9a5d..9e0816555 100644 --- a/test/registered/moe/test_torch_compile_moe.py +++ b/test/registered/moe/test_torch_compile_moe.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=130, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=130, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=1400, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/moe/test_triton_fused_moe.py b/test/registered/moe/test_triton_fused_moe.py index da0a5195f..5edd08b1f 100644 --- a/test/registered/moe/test_triton_fused_moe.py +++ b/test/registered/moe/test_triton_fused_moe.py @@ -12,7 +12,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=13, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=13, stage="base-b", runner_config="1-gpu-large") class TestFusedMOE(CustomTestCase): diff --git a/test/registered/moe/test_triton_moe_channel_fp8_kernel.py b/test/registered/moe/test_triton_moe_channel_fp8_kernel.py index 2bbefdddb..f2bf09b20 100644 --- a/test/registered/moe/test_triton_moe_channel_fp8_kernel.py +++ b/test/registered/moe/test_triton_moe_channel_fp8_kernel.py @@ -11,7 +11,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=17, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=17, stage="base-b", runner_config="1-gpu-large") def native_w8a8_per_token_matmul(A, B, As, Bs, output_dtype=torch.float16): diff --git a/test/registered/observability/test_metrics.py b/test/registered/observability/test_metrics.py index d6db74295..7e812b881 100644 --- a/test/registered/observability/test_metrics.py +++ b/test/registered/observability/test_metrics.py @@ -20,7 +20,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=74, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=74, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=32, suite="stage-b-test-1-gpu-small-amd") _MODEL_NAME = "Qwen/Qwen3-0.6B" diff --git a/test/registered/observability/test_priority_metrics.py b/test/registered/observability/test_priority_metrics.py index fe778293e..0178d3006 100644 --- a/test/registered/observability/test_priority_metrics.py +++ b/test/registered/observability/test_priority_metrics.py @@ -18,7 +18,7 @@ from sglang.test.test_utils import ( register_cuda_ci( est_time=60, - stage="stage-b", + stage="base-b", runner_config="1-gpu-small", ) register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/observability/test_tracing_disaggregation.py b/test/registered/observability/test_tracing_disaggregation.py index f16b23091..f38d513f3 100644 --- a/test/registered/observability/test_tracing_disaggregation.py +++ b/test/registered/observability/test_tracing_disaggregation.py @@ -33,7 +33,7 @@ from sglang.utils import wait_for_http_ready logger = logging.getLogger(__name__) # CI registration - PD disaggregation requires 2 GPUs -register_cuda_ci(est_time=65, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=65, stage="base-b", runner_config="2-gpu-large") class TestTraceDisaggregation(CustomTestCase): diff --git a/test/registered/openai_server/basic/test_anthropic_server.py b/test/registered/openai_server/basic/test_anthropic_server.py index a77cd982c..6f9859072 100644 --- a/test/registered/openai_server/basic/test_anthropic_server.py +++ b/test/registered/openai_server/basic/test_anthropic_server.py @@ -31,7 +31,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=40, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=40, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=140, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/basic/test_http2_server.py b/test/registered/openai_server/basic/test_http2_server.py index 21b222684..e2c313114 100644 --- a/test/registered/openai_server/basic/test_http2_server.py +++ b/test/registered/openai_server/basic/test_http2_server.py @@ -27,7 +27,7 @@ try: except ImportError: _HAS_GRANIAN = False -register_cuda_ci(est_time=52, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=52, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=52, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/basic/test_openai_server.py b/test/registered/openai_server/basic/test_openai_server.py index 682692022..7a9591764 100644 --- a/test/registered/openai_server/basic/test_openai_server.py +++ b/test/registered/openai_server/basic/test_openai_server.py @@ -28,7 +28,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=182, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=182, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=200, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/basic/test_serving_transcription.py b/test/registered/openai_server/basic/test_serving_transcription.py index 6add726f2..d4e5adb7f 100644 --- a/test/registered/openai_server/basic/test_serving_transcription.py +++ b/test/registered/openai_server/basic/test_serving_transcription.py @@ -21,7 +21,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=60, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=60, stage="base-b", runner_config="1-gpu-small") WHISPER_MODEL = "openai/whisper-large-v3" AUDIO_URL = "https://raw.githubusercontent.com/sgl-project/sgl-test-files/refs/heads/main/audios/Trump_WEF_2018_10s.mp3" diff --git a/test/registered/openai_server/features/test_json_mode.py b/test/registered/openai_server/features/test_json_mode.py index a24fda4c3..5cbb68a3d 100644 --- a/test/registered/openai_server/features/test_json_mode.py +++ b/test/registered/openai_server/features/test_json_mode.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=118, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=118, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=180, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/features/test_openai_server_ebnf.py b/test/registered/openai_server/features/test_openai_server_ebnf.py index 4188e841b..c81a1492a 100644 --- a/test/registered/openai_server/features/test_openai_server_ebnf.py +++ b/test/registered/openai_server/features/test_openai_server_ebnf.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=44, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=44, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=20, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/features/test_openai_server_hidden_states.py b/test/registered/openai_server/features/test_openai_server_hidden_states.py index 2eb5fd7b6..5146fc6cf 100644 --- a/test/registered/openai_server/features/test_openai_server_hidden_states.py +++ b/test/registered/openai_server/features/test_openai_server_hidden_states.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=222, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=222, stage="base-b", runner_config="1-gpu-small") register_amd_ci( est_time=186, suite="stage-b-test-1-gpu-small-amd", diff --git a/test/registered/openai_server/function_call/test_anthropic_tool_use.py b/test/registered/openai_server/function_call/test_anthropic_tool_use.py index 1a56b62c9..762c23ce3 100644 --- a/test/registered/openai_server/function_call/test_anthropic_tool_use.py +++ b/test/registered/openai_server/function_call/test_anthropic_tool_use.py @@ -25,7 +25,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=50, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=50, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=140, suite="stage-b-test-1-gpu-small-amd") # System message to guide Llama3.2 to produce proper tool call format diff --git a/test/registered/openai_server/function_call/test_openai_function_calling.py b/test/registered/openai_server/function_call/test_openai_function_calling.py index f4e248590..64e64b7f2 100644 --- a/test/registered/openai_server/function_call/test_openai_function_calling.py +++ b/test/registered/openai_server/function_call/test_openai_function_calling.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=100, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=100, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=73, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/validation/test_large_max_new_tokens.py b/test/registered/openai_server/validation/test_large_max_new_tokens.py index aa4446b76..8e88dd1f2 100644 --- a/test/registered/openai_server/validation/test_large_max_new_tokens.py +++ b/test/registered/openai_server/validation/test_large_max_new_tokens.py @@ -22,7 +22,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=58, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=58, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=41, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/validation/test_matched_stop.py b/test/registered/openai_server/validation/test_matched_stop.py index c9566191c..8284c8d07 100644 --- a/test/registered/openai_server/validation/test_matched_stop.py +++ b/test/registered/openai_server/validation/test_matched_stop.py @@ -10,7 +10,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=52, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=52, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/validation/test_openai_server_ignore_eos.py b/test/registered/openai_server/validation/test_openai_server_ignore_eos.py index a765f8950..ddd8ffcec 100644 --- a/test/registered/openai_server/validation/test_openai_server_ignore_eos.py +++ b/test/registered/openai_server/validation/test_openai_server_ignore_eos.py @@ -11,7 +11,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=44, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=44, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=47, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/openai_server/validation/test_request_length_validation.py b/test/registered/openai_server/validation/test_request_length_validation.py index 1f5ae898d..1ee3ae9ad 100644 --- a/test/registered/openai_server/validation/test_request_length_validation.py +++ b/test/registered/openai_server/validation/test_request_length_validation.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=49, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=49, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=31, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/perf/test_vlm_perf_5090.py b/test/registered/perf/test_vlm_perf_5090.py index 3c98f8568..02aa32af9 100644 --- a/test/registered/perf/test_vlm_perf_5090.py +++ b/test/registered/perf/test_vlm_perf_5090.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( write_github_step_summary, ) -register_cuda_ci(est_time=406, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=406, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=500, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/piecewise_cuda_graph/test_pcg_with_speculative_decoding.py b/test/registered/piecewise_cuda_graph/test_pcg_with_speculative_decoding.py index 3bd1ef0da..91bab339e 100644 --- a/test/registered/piecewise_cuda_graph/test_pcg_with_speculative_decoding.py +++ b/test/registered/piecewise_cuda_graph/test_pcg_with_speculative_decoding.py @@ -11,7 +11,7 @@ import unittest from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.server_fixtures.pcg_spec_fixture import PCGSpecBase -register_cuda_ci(est_time=531, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=531, stage="base-b", runner_config="2-gpu-large") class TestPCGWithEAGLE3(PCGSpecBase, unittest.TestCase): diff --git a/test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py b/test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py index abc44f285..11f4fbf1d 100644 --- a/test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py +++ b/test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( ) # CI Registration -register_cuda_ci(est_time=180, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=180, stage="base-b", runner_config="1-gpu-large") class TestPiecewiseCudaGraphQwen25VL(CustomTestCase): diff --git a/test/registered/prefill_only/test_embed_overrides.py b/test/registered/prefill_only/test_embed_overrides.py index f1e67d262..0faeed8b8 100644 --- a/test/registered/prefill_only/test_embed_overrides.py +++ b/test/registered/prefill_only/test_embed_overrides.py @@ -24,7 +24,7 @@ from sglang.srt.server_args import MIS_DELIMITER_TOKEN_ID from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=9, suite="stage-b-test-1-gpu-small-amd") HIDDEN_DIM = 4 diff --git a/test/registered/prefill_only/test_embedding_models.py b/test/registered/prefill_only/test_embedding_models.py index f52ca0410..a0a3d6c7b 100644 --- a/test/registered/prefill_only/test_embedding_models.py +++ b/test/registered/prefill_only/test_embedding_models.py @@ -35,7 +35,7 @@ register_amd_ci( suite="stage-b-test-1-gpu-small-amd", disabled="see https://github.com/sgl-project/sglang/issues/11127", ) -register_cuda_ci(est_time=136, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=136, stage="base-b", runner_config="1-gpu-small") MODEL_TO_CONFIG = { "Alibaba-NLP/gte-Qwen2-1.5B-instruct": (1, 1e-5), diff --git a/test/registered/prefill_only/test_multi_item_scoring.py b/test/registered/prefill_only/test_multi_item_scoring.py index 3a019affd..522bdc9b5 100644 --- a/test/registered/prefill_only/test_multi_item_scoring.py +++ b/test/registered/prefill_only/test_multi_item_scoring.py @@ -27,7 +27,7 @@ from sglang.test.test_utils import ( CustomTestCase, ) -register_cuda_ci(est_time=211, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=211, stage="base-b", runner_config="1-gpu-small") TEST_MODEL_NAME = os.environ.get("TEST_MODEL_NAME", DEFAULT_SMALL_MODEL_NAME_FOR_TEST) TEST_CLASSIFICATION_BASE_MODEL = os.environ.get( diff --git a/test/registered/prefill_only/test_openai_embedding.py b/test/registered/prefill_only/test_openai_embedding.py index 8455358e0..0f6435be5 100644 --- a/test/registered/prefill_only/test_openai_embedding.py +++ b/test/registered/prefill_only/test_openai_embedding.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=91, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=91, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=141, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/prefill_only/test_pooled_hidden_states.py b/test/registered/prefill_only/test_pooled_hidden_states.py index e112c13b1..52e51183e 100644 --- a/test/registered/prefill_only/test_pooled_hidden_states.py +++ b/test/registered/prefill_only/test_pooled_hidden_states.py @@ -27,7 +27,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=100, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=100, stage="base-b", runner_config="1-gpu-small") _SEQCLS_MODEL = "Qwen/Qwen3-0.6B" _CAUSAL_LM_MODEL = DEFAULT_SMALL_MODEL_NAME_FOR_TEST diff --git a/test/registered/prefill_only/test_reward_models.py b/test/registered/prefill_only/test_reward_models.py index 8647dba6a..b839a434e 100644 --- a/test/registered/prefill_only/test_reward_models.py +++ b/test/registered/prefill_only/test_reward_models.py @@ -24,7 +24,7 @@ from sglang.test.test_utils import CustomTestCase # ============================================================================== -register_cuda_ci(est_time=166, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=166, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=132, suite="stage-b-test-1-gpu-small-amd-nondeterministic") MODELS = [ diff --git a/test/registered/prefill_only/test_score_api.py b/test/registered/prefill_only/test_score_api.py index 7e6059588..0b5f07403 100644 --- a/test/registered/prefill_only/test_score_api.py +++ b/test/registered/prefill_only/test_score_api.py @@ -27,7 +27,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=71, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=71, stage="base-b", runner_config="1-gpu-small") _MODEL = os.environ.get("TEST_MODEL_NAME", DEFAULT_SMALL_MODEL_NAME_FOR_TEST) diff --git a/test/registered/prefill_only/test_score_engine.py b/test/registered/prefill_only/test_score_engine.py index ff0550f2f..959ec28c8 100644 --- a/test/registered/prefill_only/test_score_engine.py +++ b/test/registered/prefill_only/test_score_engine.py @@ -26,7 +26,7 @@ from sglang.srt.entrypoints.engine import Engine from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST, CustomTestCase -register_cuda_ci(est_time=85, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=85, stage="base-b", runner_config="1-gpu-small") _CAUSAL_LM_MODEL = os.environ.get("TEST_MODEL_NAME", DEFAULT_SMALL_MODEL_NAME_FOR_TEST) _SEQCLS_MODEL = os.environ.get("TEST_CLASSIFICATION_BASE_MODEL", "Qwen/Qwen3-0.6B") diff --git a/test/registered/prefill_only/test_serving_rerank.py b/test/registered/prefill_only/test_serving_rerank.py index 216278a99..0555d5f6a 100644 --- a/test/registered/prefill_only/test_serving_rerank.py +++ b/test/registered/prefill_only/test_serving_rerank.py @@ -7,7 +7,7 @@ from sglang.srt.managers.tokenizer_manager_score_mixin import ScoreResult from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci # Keep consistent with other openai_server/basic unit tests. -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=10, suite="stage-b-test-1-gpu-small-amd") try: diff --git a/test/registered/profiling/test_profile_v2.py b/test/registered/profiling/test_profile_v2.py index ac9d6b2e0..17b194f2d 100644 --- a/test/registered/profiling/test_profile_v2.py +++ b/test/registered/profiling/test_profile_v2.py @@ -19,7 +19,7 @@ from sglang.test.test_utils import ( register_cuda_ci( est_time=120, - stage="stage-b", + stage="base-b", runner_config="1-gpu-small", disabled="Temporarily disabled", ) diff --git a/test/registered/profiling/test_start_profile.py b/test/registered/profiling/test_start_profile.py index 34630c922..df7fd579a 100644 --- a/test/registered/profiling/test_start_profile.py +++ b/test/registered/profiling/test_start_profile.py @@ -29,7 +29,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=42, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=42, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd") OUTPUT_DIR = "./profiler_dir" diff --git a/test/registered/quant/test_awq.py b/test/registered/quant/test_awq.py index fbdb69e35..abaadd7ba 100644 --- a/test/registered/quant/test_awq.py +++ b/test/registered/quant/test_awq.py @@ -13,7 +13,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=160, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=160, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=200, suite="stage-b-test-1-gpu-large-amd") diff --git a/test/registered/quant/test_block_int8.py b/test/registered/quant/test_block_int8.py index 2c1d77def..dc456b2f4 100644 --- a/test/registered/quant/test_block_int8.py +++ b/test/registered/quant/test_block_int8.py @@ -10,7 +10,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=44, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=44, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=22, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/quant/test_deepseek_v32_fp4_mtp_4gpu.py b/test/registered/quant/test_deepseek_v32_fp4_mtp_4gpu.py index 6ded6338b..2ef4633e7 100644 --- a/test/registered/quant/test_deepseek_v32_fp4_mtp_4gpu.py +++ b/test/registered/quant/test_deepseek_v32_fp4_mtp_4gpu.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( register_cuda_ci( est_time=690, - stage="stage-c", + stage="base-c", runner_config="4-gpu-b200", ) diff --git a/test/registered/quant/test_deepseek_v3_fp4_4gpu.py b/test/registered/quant/test_deepseek_v3_fp4_4gpu.py index 5eadc8287..927636018 100644 --- a/test/registered/quant/test_deepseek_v3_fp4_4gpu.py +++ b/test/registered/quant/test_deepseek_v3_fp4_4gpu.py @@ -15,7 +15,7 @@ from sglang.test.test_utils import ( # Per-commit: SymmetricMemory variant only. # - TestDeepseekV3FP4 (TRTLLM) archived to test/manual/quant/test_deepseek_v3_fp4_4gpu_trtllm.py # - TestDeepseekV3FP4CutlassMoE moved to test_deepseek_v3_fp4_4gpu_extra.py -register_cuda_ci(est_time=960, stage="stage-c", runner_config="4-gpu-b200") +register_cuda_ci(est_time=960, stage="base-c", runner_config="4-gpu-b200") FULL_DEEPSEEK_V3_FP4_MODEL_PATH = "nvidia/DeepSeek-V3-0324-FP4" SERVER_LAUNCH_TIMEOUT = 1200 diff --git a/test/registered/quant/test_fp8_kernel.py b/test/registered/quant/test_fp8_kernel.py index a1cf1fa84..9379bc257 100644 --- a/test/registered/quant/test_fp8_kernel.py +++ b/test/registered/quant/test_fp8_kernel.py @@ -9,7 +9,7 @@ from sglang.srt.layers.quantization.fp8_kernel import ( from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-large") from sglang.srt.utils import get_device, is_cuda, is_xpu diff --git a/test/registered/quant/test_fp8_utils.py b/test/registered/quant/test_fp8_utils.py index 277051c04..34dbc9ccd 100644 --- a/test/registered/quant/test_fp8_utils.py +++ b/test/registered/quant/test_fp8_utils.py @@ -10,7 +10,7 @@ from sglang.srt.layers.quantization.fp8_utils import ( from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-large") class TestInverseTransformScaleUe8m0(CustomTestCase): diff --git a/test/registered/quant/test_gguf.py b/test/registered/quant/test_gguf.py index 50ed3bdab..083d814be 100644 --- a/test/registered/quant/test_gguf.py +++ b/test/registered/quant/test_gguf.py @@ -6,7 +6,7 @@ import sglang as sgl from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=76, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=76, stage="base-b", runner_config="1-gpu-small") class TestGGUF(CustomTestCase): diff --git a/test/registered/quant/test_int8_kernel.py b/test/registered/quant/test_int8_kernel.py index b3145f8f5..02cb34af1 100644 --- a/test/registered/quant/test_int8_kernel.py +++ b/test/registered/quant/test_int8_kernel.py @@ -11,7 +11,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=15, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=15, stage="base-b", runner_config="1-gpu-small") def native_w8a8_per_token_matmul(A, B, As, Bs, output_dtype=torch.float16): diff --git a/test/registered/quant/test_is_layer_skipped.py b/test/registered/quant/test_is_layer_skipped.py index 89e2c15ed..c311fc576 100644 --- a/test/registered/quant/test_is_layer_skipped.py +++ b/test/registered/quant/test_is_layer_skipped.py @@ -4,7 +4,7 @@ from sglang.srt.layers.quantization.utils import is_layer_skipped from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") # Qwen3-Next FP8 actually publishes the equivalent of this in diff --git a/test/registered/quant/test_marlin_moe.py b/test/registered/quant/test_marlin_moe.py index f7aaeac0b..86d2ca837 100644 --- a/test/registered/quant/test_marlin_moe.py +++ b/test/registered/quant/test_marlin_moe.py @@ -12,7 +12,7 @@ from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_marlin_utils import awq_marlin_quantize, marlin_quantize from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=108, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=108, stage="base-b", runner_config="1-gpu-small") set_global_server_args_for_scheduler(object.__new__(ServerArgs)) diff --git a/test/registered/quant/test_modelopt_fp8.py b/test/registered/quant/test_modelopt_fp8.py index 79e1bd9b2..d753b559f 100644 --- a/test/registered/quant/test_modelopt_fp8.py +++ b/test/registered/quant/test_modelopt_fp8.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=62, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=62, stage="base-b", runner_config="1-gpu-large") class TestModeloptFP8(CustomTestCase): diff --git a/test/registered/quant/test_nvfp4_gemm.py b/test/registered/quant/test_nvfp4_gemm.py index c8b39167c..06d4cbc52 100644 --- a/test/registered/quant/test_nvfp4_gemm.py +++ b/test/registered/quant/test_nvfp4_gemm.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=350, stage="stage-c", runner_config="4-gpu-b200") +register_cuda_ci(est_time=350, stage="base-c", runner_config="4-gpu-b200") MODEL_PATH = "nvidia/Llama-3.1-8B-Instruct-NVFP4" diff --git a/test/registered/quant/test_nvfp4_gemm_sm120.py b/test/registered/quant/test_nvfp4_gemm_sm120.py index 4dc6fa348..61dd5ea88 100644 --- a/test/registered/quant/test_nvfp4_gemm_sm120.py +++ b/test/registered/quant/test_nvfp4_gemm_sm120.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( try_cached_model, ) -register_cuda_ci(est_time=109, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=109, stage="base-b", runner_config="1-gpu-small") MODEL_PATH = "nvidia/Llama-3.1-8B-Instruct-NVFP4" diff --git a/test/registered/quant/test_quant_config_parsing.py b/test/registered/quant/test_quant_config_parsing.py index 33ebda5b8..ee30eebd0 100644 --- a/test/registered/quant/test_quant_config_parsing.py +++ b/test/registered/quant/test_quant_config_parsing.py @@ -5,7 +5,7 @@ from sglang.srt.configs.model_config import ModelConfig from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=15, suite="stage-a-test-cpu") +register_cpu_ci(est_time=15, suite="base-a-test-cpu") class TestQuantLogString(CustomTestCase): diff --git a/test/registered/quant/test_triton_scaled_mm.py b/test/registered/quant/test_triton_scaled_mm.py index da353db16..3d5dc8022 100644 --- a/test/registered/quant/test_triton_scaled_mm.py +++ b/test/registered/quant/test_triton_scaled_mm.py @@ -9,7 +9,7 @@ from sglang.srt.utils.common import get_device from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=12, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/radix_cache/test_radix_attention.py b/test/registered/radix_cache/test_radix_attention.py index b88dccfc4..8814f6a27 100644 --- a/test/registered/radix_cache/test_radix_attention.py +++ b/test/registered/radix_cache/test_radix_attention.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( ) # RadixAttention server integration tests -register_cuda_ci(est_time=100, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=100, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=100, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/radix_cache/test_radix_cache_hit.py b/test/registered/radix_cache/test_radix_cache_hit.py index de465f2dc..c052dbfdf 100644 --- a/test/registered/radix_cache/test_radix_cache_hit.py +++ b/test/registered/radix_cache/test_radix_cache_hit.py @@ -11,7 +11,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=55, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=55, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=55, suite="stage-b-test-1-gpu-small-amd") MODEL = DEFAULT_SMALL_MODEL_NAME_FOR_TEST diff --git a/test/registered/radix_cache/test_swa_radix_cache_kl.py b/test/registered/radix_cache/test_swa_radix_cache_kl.py index d2d66fdf5..795ad9d9e 100644 --- a/test/registered/radix_cache/test_swa_radix_cache_kl.py +++ b/test/registered/radix_cache/test_swa_radix_cache_kl.py @@ -6,7 +6,7 @@ from sglang.test.server_fixtures.default_fixture import DefaultServerBase MODEL = "openai/gpt-oss-20b" -register_cuda_ci(est_time=151, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=151, stage="base-b", runner_config="1-gpu-large") class TestSWARadixCacheKL(KLDivergenceMixin, DefaultServerBase): diff --git a/test/registered/radix_cache/test_unified_radix_cache_kl.py b/test/registered/radix_cache/test_unified_radix_cache_kl.py index e6d38c6a2..2d8ab360f 100644 --- a/test/registered/radix_cache/test_unified_radix_cache_kl.py +++ b/test/registered/radix_cache/test_unified_radix_cache_kl.py @@ -35,7 +35,7 @@ MAMBA_TRACK_INTERVAL = 128 SWA_MODEL = "openai/gpt-oss-20b" FULL_MODEL = "Qwen/Qwen3-32B" -register_cuda_ci(est_time=760, stage="stage-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=760, stage="base-c", runner_config="4-gpu-h100") class UnifiedRadixTreeTestMixin: diff --git a/test/registered/reasoning/test_reasoning.py b/test/registered/reasoning/test_reasoning.py index 2bd16c387..ac570c635 100644 --- a/test/registered/reasoning/test_reasoning.py +++ b/test/registered/reasoning/test_reasoning.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=129, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=129, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=200, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/rl/test_fp32_lm_head.py b/test/registered/rl/test_fp32_lm_head.py index b6aeb4ca9..dac52502c 100644 --- a/test/registered/rl/test_fp32_lm_head.py +++ b/test/registered/rl/test_fp32_lm_head.py @@ -15,7 +15,7 @@ from sglang.srt.server_args import ( from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=15, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/rl/test_patch_torch.py b/test/registered/rl/test_patch_torch.py index 6844a856e..fd5dc9412 100644 --- a/test/registered/rl/test_patch_torch.py +++ b/test/registered/rl/test_patch_torch.py @@ -9,7 +9,7 @@ import torch.multiprocessing as mp from sglang.srt.utils.patch_torch import monkey_patch_torch_reductions from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=15, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=15, stage="base-b", runner_config="2-gpu-large") class TestReleaseMemoryOccupation(unittest.TestCase): diff --git a/test/registered/rl/test_pause_generation_tensor_consistency.py b/test/registered/rl/test_pause_generation_tensor_consistency.py index 64c172221..5c1f54032 100644 --- a/test/registered/rl/test_pause_generation_tensor_consistency.py +++ b/test/registered/rl/test_pause_generation_tensor_consistency.py @@ -9,7 +9,7 @@ import torch from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") # --------------------------------------------------------------------------- diff --git a/test/registered/rl/test_release_memory_occupation.py b/test/registered/rl/test_release_memory_occupation.py index 4e2f024a8..8628114b1 100644 --- a/test/registered/rl/test_release_memory_occupation.py +++ b/test/registered/rl/test_release_memory_occupation.py @@ -55,7 +55,7 @@ from sglang.test.test_utils import ( register_cuda_ci( est_time=200, - stage="stage-c", + stage="base-c", runner_config="4-gpu-h100", disabled="Temporarily disabled - needs investigation", ) diff --git a/test/registered/rl/test_update_weights_from_disk.py b/test/registered/rl/test_update_weights_from_disk.py index 415aee265..ed7255916 100644 --- a/test/registered/rl/test_update_weights_from_disk.py +++ b/test/registered/rl/test_update_weights_from_disk.py @@ -22,7 +22,7 @@ register_amd_ci( est_time=210, suite="stage-b-test-1-gpu-small-amd", disabled="see #14021" ) register_cuda_ci( - est_time=210, stage="stage-b", runner_config="1-gpu-large", disabled="see #14021" + est_time=210, stage="base-b", runner_config="1-gpu-large", disabled="see #14021" ) diff --git a/test/registered/sampling/test_original_logprobs.py b/test/registered/sampling/test_original_logprobs.py index cefc40256..c0e4263d1 100644 --- a/test/registered/sampling/test_original_logprobs.py +++ b/test/registered/sampling/test_original_logprobs.py @@ -25,7 +25,7 @@ import sglang as sgl from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import DEFAULT_SMALL_MODEL_NAME_FOR_TEST -register_cuda_ci(est_time=45, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=45, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=60, suite="stage-b-test-1-gpu-small-amd") # ------------------------- Configurable via env ------------------------- # diff --git a/test/registered/sampling/test_penalty.py b/test/registered/sampling/test_penalty.py index 39e42a552..63f7bc70a 100644 --- a/test/registered/sampling/test_penalty.py +++ b/test/registered/sampling/test_penalty.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=53, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=53, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=82, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/sampling/test_pytorch_sampling_backend.py b/test/registered/sampling/test_pytorch_sampling_backend.py index 73ff86d05..4322df298 100644 --- a/test/registered/sampling/test_pytorch_sampling_backend.py +++ b/test/registered/sampling/test_pytorch_sampling_backend.py @@ -15,7 +15,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=80, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=80, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=66, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/scheduler/test_abort_with_metrics.py b/test/registered/scheduler/test_abort_with_metrics.py index 4f894a31f..17d875b4c 100644 --- a/test/registered/scheduler/test_abort_with_metrics.py +++ b/test/registered/scheduler/test_abort_with_metrics.py @@ -18,7 +18,7 @@ from sglang.srt.utils.http_middleware_patch import _PureASGIDispatch from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") _HTTP_SCOPE = { "type": "http", diff --git a/test/registered/scheduler/test_mixed_chunked_prefill.py b/test/registered/scheduler/test_mixed_chunked_prefill.py index fcfd73ce9..15c448d92 100644 --- a/test/registered/scheduler/test_mixed_chunked_prefill.py +++ b/test/registered/scheduler/test_mixed_chunked_prefill.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=167, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=167, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=180, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/scheduler/test_prefill_delayer.py b/test/registered/scheduler/test_prefill_delayer.py index 24ea98015..c4ba97e0f 100644 --- a/test/registered/scheduler/test_prefill_delayer.py +++ b/test/registered/scheduler/test_prefill_delayer.py @@ -28,7 +28,7 @@ from sglang.test.test_utils import ( register_cuda_ci( est_time=300, - stage="stage-c", + stage="base-c", runner_config="8-gpu-h200", disabled="Temporarily disabled", ) diff --git a/test/registered/scheduler/test_retract_decode.py b/test/registered/scheduler/test_retract_decode.py index 4db2c790b..31b9f6715 100644 --- a/test/registered/scheduler/test_retract_decode.py +++ b/test/registered/scheduler/test_retract_decode.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( ) from sglang.utils import is_in_ci -register_cuda_ci(est_time=353, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=353, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=600, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/scheduler/test_scheduler_control.py b/test/registered/scheduler/test_scheduler_control.py index 0ef3bf66e..aa002bb54 100644 --- a/test/registered/scheduler/test_scheduler_control.py +++ b/test/registered/scheduler/test_scheduler_control.py @@ -20,7 +20,7 @@ from sglang.test.test_utils import ( run_and_check_memory_leak, ) -register_cuda_ci(est_time=367, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=367, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=300, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/sessions/test_streaming_session.py b/test/registered/sessions/test_streaming_session.py index 9fce4c94b..8485b1c7c 100644 --- a/test/registered/sessions/test_streaming_session.py +++ b/test/registered/sessions/test_streaming_session.py @@ -23,7 +23,7 @@ from sglang.test.test_utils import ( DEFAULT_TARGET_MODEL_EAGLE3, ) -register_cuda_ci(est_time=691, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=691, stage="base-b", runner_config="1-gpu-large") class TestStreamingSession(StreamingSessionServerBase, StreamingSessionKitMixin): diff --git a/test/registered/sessions/test_streaming_session_swa.py b/test/registered/sessions/test_streaming_session_swa.py index b9b17d4d6..889a12cf2 100644 --- a/test/registered/sessions/test_streaming_session_swa.py +++ b/test/registered/sessions/test_streaming_session_swa.py @@ -12,7 +12,7 @@ from sglang.test.server_fixtures.streaming_session_fixture import ( StreamingSessionServerBase, ) -register_cuda_ci(est_time=519, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=519, stage="base-b", runner_config="1-gpu-large") SWA_MODEL = "openai/gpt-oss-20b" diff --git a/test/registered/spec/dflash/test_dflash.py b/test/registered/spec/dflash/test_dflash.py index ef6ad8f84..d139cbf54 100644 --- a/test/registered/spec/dflash/test_dflash.py +++ b/test/registered/spec/dflash/test_dflash.py @@ -18,7 +18,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=302, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=302, stage="base-b", runner_config="1-gpu-small") class TestDFlashServerBase(CustomTestCase, MatchedStopMixin, GSM8KMixin): diff --git a/test/registered/spec/eagle/test_adaptive_speculative.py b/test/registered/spec/eagle/test_adaptive_speculative.py index 5a1972201..97ac8b900 100644 --- a/test/registered/spec/eagle/test_adaptive_speculative.py +++ b/test/registered/spec/eagle/test_adaptive_speculative.py @@ -18,7 +18,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=76, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=76, stage="base-b", runner_config="1-gpu-large") HIGH_ACCEPT_PROMPT = ( "Output exactly 128 new lines. " diff --git a/test/registered/spec/eagle/test_deepseek_v3_fp4_mtp_small.py b/test/registered/spec/eagle/test_deepseek_v3_fp4_mtp_small.py index faa4ed476..99b3a2e88 100644 --- a/test/registered/spec/eagle/test_deepseek_v3_fp4_mtp_small.py +++ b/test/registered/spec/eagle/test_deepseek_v3_fp4_mtp_small.py @@ -16,7 +16,7 @@ from sglang.test.test_utils import ( write_github_step_summary, ) -register_cuda_ci(est_time=340, stage="stage-b", runner_config="4-gpu-b200") +register_cuda_ci(est_time=340, stage="base-b", runner_config="4-gpu-b200") FULL_DEEPSEEK_V3_FP4_MODEL_PATH = "nvidia/DeepSeek-V3-0324-FP4" SERVER_LAUNCH_TIMEOUT = 1200 diff --git a/test/registered/spec/eagle/test_eagle_constrained_decoding.py b/test/registered/spec/eagle/test_eagle_constrained_decoding.py index 4087332c6..6478ce0b3 100644 --- a/test/registered/spec/eagle/test_eagle_constrained_decoding.py +++ b/test/registered/spec/eagle/test_eagle_constrained_decoding.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=116, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=116, stage="base-b", runner_config="1-gpu-large") class TestEagleConstrainedDecoding( diff --git a/test/registered/spec/eagle/test_eagle_infer_b.py b/test/registered/spec/eagle/test_eagle_infer_b.py index aa6ce7356..192b75c3f 100644 --- a/test/registered/spec/eagle/test_eagle_infer_b.py +++ b/test/registered/spec/eagle/test_eagle_infer_b.py @@ -22,7 +22,7 @@ from sglang.test.run_eval import run_eval from sglang.test.server_fixtures.eagle_fixture import EagleServerBase from sglang.test.test_utils import DEFAULT_TARGET_MODEL_EAGLE, run_logprob_check -register_cuda_ci(est_time=847, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=847, stage="base-b", runner_config="1-gpu-large") class TestEAGLEServerBasic(EagleServerBase): diff --git a/test/registered/spec/eagle/test_eagle_infer_beta.py b/test/registered/spec/eagle/test_eagle_infer_beta.py index 75635ee63..92577ca0f 100644 --- a/test/registered/spec/eagle/test_eagle_infer_beta.py +++ b/test/registered/spec/eagle/test_eagle_infer_beta.py @@ -19,7 +19,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=369, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=369, stage="base-b", runner_config="1-gpu-small") class TestEagle3ServerBase(CustomTestCase, MatchedStopMixin): diff --git a/test/registered/spec/eagle/test_eagle_infer_beta_dp_attention.py b/test/registered/spec/eagle/test_eagle_infer_beta_dp_attention.py index 3f9906b9f..9e4bf5676 100644 --- a/test/registered/spec/eagle/test_eagle_infer_beta_dp_attention.py +++ b/test/registered/spec/eagle/test_eagle_infer_beta_dp_attention.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( ) # EAGLE with DP attention on B200 (tp=2, dp=2, requires 4 B200 GPUs) -register_cuda_ci(est_time=90, stage="stage-c", runner_config="4-gpu-b200") +register_cuda_ci(est_time=90, stage="base-c", runner_config="4-gpu-b200") def test_gsm8k(base_url: str, model: str): diff --git a/test/registered/spec/test_constrained_decoding_spec_reasoning.py b/test/registered/spec/test_constrained_decoding_spec_reasoning.py index 4f1322ea4..60e695bc0 100644 --- a/test/registered/spec/test_constrained_decoding_spec_reasoning.py +++ b/test/registered/spec/test_constrained_decoding_spec_reasoning.py @@ -14,7 +14,7 @@ from sglang.test.test_utils import ( ) # Constrained decoding with EAGLE3 speculative reasoning (tp=2) -register_cuda_ci(est_time=137, stage="stage-b", runner_config="2-gpu-large") +register_cuda_ci(est_time=137, stage="base-b", runner_config="2-gpu-large") class ServerWithGrammar(CustomTestCase): diff --git a/test/registered/spec/test_spec_ngram.py b/test/registered/spec/test_spec_ngram.py index 65e001c55..02b21928a 100644 --- a/test/registered/spec/test_spec_ngram.py +++ b/test/registered/spec/test_spec_ngram.py @@ -7,7 +7,7 @@ from sglang.test.server_fixtures.ngram_fixture import NgramServerBase # Per-commit: Paged backend only. # - FA3 base test archived to test/manual/spec/test_spec_ngram_fa3.py # - Triton + Flashinfer moved to test_spec_ngram_extra.py -register_cuda_ci(est_time=254, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=254, stage="base-b", runner_config="1-gpu-large") class TestNgramSpeculativeDecodingPaged(NgramServerBase, GSM8KMixin): diff --git a/test/registered/spec/test_spec_standalone.py b/test/registered/spec/test_spec_standalone.py index afd45017a..f86f6f2c5 100644 --- a/test/registered/spec/test_spec_standalone.py +++ b/test/registered/spec/test_spec_standalone.py @@ -6,7 +6,7 @@ from sglang.test.test_utils import CustomTestCase # V2 standalone speculative decoding tests (FA3, Triton, FlashInfer backends). # Non-V2 backends moved to test_spec_standalone_extra.py. -register_cuda_ci(est_time=406, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=406, stage="base-b", runner_config="1-gpu-large") class TestStandaloneV2SpeculativeDecodingBase(StandaloneServerBase, CustomTestCase): diff --git a/test/registered/spec/utils/test_build_eagle_tree.py b/test/registered/spec/utils/test_build_eagle_tree.py index 809f2d1d2..9da57cfa5 100644 --- a/test/registered/spec/utils/test_build_eagle_tree.py +++ b/test/registered/spec/utils/test_build_eagle_tree.py @@ -9,7 +9,7 @@ from sglang.srt.speculative.eagle_utils import ( from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=6, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=6, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=3, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/tokenizer/test_multi_tokenizer.py b/test/registered/tokenizer/test_multi_tokenizer.py index df2bb3aa0..1454679d1 100644 --- a/test/registered/tokenizer/test_multi_tokenizer.py +++ b/test/registered/tokenizer/test_multi_tokenizer.py @@ -17,7 +17,7 @@ from sglang.test.test_utils import ( write_github_step_summary, ) -register_cuda_ci(est_time=211, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=211, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=345, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/tokenizer/test_skip_tokenizer_init.py b/test/registered/tokenizer/test_skip_tokenizer_init.py index a4275801a..72802bedc 100644 --- a/test/registered/tokenizer/test_skip_tokenizer_init.py +++ b/test/registered/tokenizer/test_skip_tokenizer_init.py @@ -23,7 +23,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=79, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=79, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=117, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/README.md b/test/registered/unit/README.md index a8e5a8174..711e729f3 100644 --- a/test/registered/unit/README.md +++ b/test/registered/unit/README.md @@ -14,8 +14,8 @@ Tests can use CPU or GPU — the key criterion is **no server process**. 3. Register for CI at the **top of the file** (after imports, before test classes): ```python from sglang.test.ci.ci_register import register_cpu_ci - register_cpu_ci(est_time=5, suite="stage-a-test-cpu") - # or: register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") + register_cpu_ci(est_time=5, suite="base-a-test-cpu") + # or: register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") ``` CUDA suites whose names follow `{stage}-test-{runner_config}` use the `stage=` + `runner_config=` form. Legacy `suite="..."` is kept for @@ -44,7 +44,7 @@ Tests can use CPU or GPU — the key criterion is **no server process**. from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") import unittest @@ -81,7 +81,7 @@ maybe_stub_sgl_kernel() # must precede any import that pulls in sgl_kernel from sglang.srt.managers.io_struct import FlushCacheReqInput from sglang.srt.managers.scheduler import Scheduler -register_cpu_ci(est_time=2, suite="stage-a-test-cpu") +register_cpu_ci(est_time=2, suite="base-a-test-cpu") ``` The same pattern (`sys.meta_path` finder) can be applied to other GPU-only packages. diff --git a/test/registered/unit/auto_benchmark/test_dataset_tools.py b/test/registered/unit/auto_benchmark/test_dataset_tools.py index 37e49224b..1f47b1ead 100644 --- a/test/registered/unit/auto_benchmark/test_dataset_tools.py +++ b/test/registered/unit/auto_benchmark/test_dataset_tools.py @@ -15,7 +15,7 @@ from sglang.auto_benchmark_lib import infer_backend, prepare_dataset from sglang.benchmark.datasets.autobench import sample_autobench_requests from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=6, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=6, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=6, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/auto_benchmark/test_run_candidate.py b/test/registered/unit/auto_benchmark/test_run_candidate.py index 427f83220..9b9813d5c 100644 --- a/test/registered/unit/auto_benchmark/test_run_candidate.py +++ b/test/registered/unit/auto_benchmark/test_run_candidate.py @@ -14,7 +14,7 @@ from auto_benchmark import AutoBenchmarkTestCase from sglang.auto_benchmark_lib import SearchDeadlineExceeded, run_candidate from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=6, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=6, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=6, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/auto_benchmark/test_search_tools.py b/test/registered/unit/auto_benchmark/test_search_tools.py index b142492b4..b65db2098 100644 --- a/test/registered/unit/auto_benchmark/test_search_tools.py +++ b/test/registered/unit/auto_benchmark/test_search_tools.py @@ -28,7 +28,7 @@ from sglang.auto_benchmark_lib import ( ) from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=6, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=6, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=6, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/bench/test_mmmu_eval_utils.py b/test/registered/unit/bench/test_mmmu_eval_utils.py index fe6a16ae3..d6de7fe04 100644 --- a/test/registered/unit/bench/test_mmmu_eval_utils.py +++ b/test/registered/unit/bench/test_mmmu_eval_utils.py @@ -15,7 +15,7 @@ except ModuleNotFoundError: pass -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") def _load_mmmu_eval_utils(): diff --git a/test/registered/unit/configs/test_linear_attn_model_registry.py b/test/registered/unit/configs/test_linear_attn_model_registry.py index 9eb6970ca..6cb570b52 100644 --- a/test/registered/unit/configs/test_linear_attn_model_registry.py +++ b/test/registered/unit/configs/test_linear_attn_model_registry.py @@ -13,7 +13,7 @@ from sglang.srt.configs.linear_attn_model_registry import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") # Dummy config classes for testing diff --git a/test/registered/unit/configs/test_model_config_parser_registry.py b/test/registered/unit/configs/test_model_config_parser_registry.py index 3c1329858..01e319989 100644 --- a/test/registered/unit/configs/test_model_config_parser_registry.py +++ b/test/registered/unit/configs/test_model_config_parser_registry.py @@ -13,7 +13,7 @@ from sglang.srt.configs.model_config_parser_registry import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=1, suite="stage-a-test-cpu") +register_cpu_ci(est_time=1, suite="base-a-test-cpu") class _FakeParser(ModelConfigParserBase): diff --git a/test/registered/unit/constrained/test_base_grammar_backend.py b/test/registered/unit/constrained/test_base_grammar_backend.py index 191fb4b3a..f9cb636ca 100644 --- a/test/registered/unit/constrained/test_base_grammar_backend.py +++ b/test/registered/unit/constrained/test_base_grammar_backend.py @@ -30,7 +30,7 @@ from sglang.srt.constrained.base_grammar_backend import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(2.0, "stage-a-test-cpu") +register_cpu_ci(2.0, "base-a-test-cpu") class TestGrammarStats(unittest.TestCase): diff --git a/test/registered/unit/constrained/test_e2e_constrained_reasoning.py b/test/registered/unit/constrained/test_e2e_constrained_reasoning.py index 767491c97..6a005202b 100644 --- a/test/registered/unit/constrained/test_e2e_constrained_reasoning.py +++ b/test/registered/unit/constrained/test_e2e_constrained_reasoning.py @@ -22,7 +22,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=120, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=120, stage="base-b", runner_config="1-gpu-small") MODEL = "Qwen/Qwen3-0.6B" BASE_URL = "http://127.0.0.1:39877" diff --git a/test/registered/unit/constrained/test_grammar_manager.py b/test/registered/unit/constrained/test_grammar_manager.py index 2d25a4bc4..e7605ee44 100644 --- a/test/registered/unit/constrained/test_grammar_manager.py +++ b/test/registered/unit/constrained/test_grammar_manager.py @@ -27,7 +27,7 @@ from sglang.srt.constrained.grammar_manager import GrammarManager from sglang.srt.constrained.reasoner_grammar_backend import ReasonerGrammarObject from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(2.0, "stage-a-test-cpu") +register_cpu_ci(2.0, "base-a-test-cpu") def _make_scheduler(grammar_backend_name="none", skip_tokenizer=False): diff --git a/test/registered/unit/constrained/test_reasoner_grammar_backend.py b/test/registered/unit/constrained/test_reasoner_grammar_backend.py index 365d42c3c..48b8a79f8 100644 --- a/test/registered/unit/constrained/test_reasoner_grammar_backend.py +++ b/test/registered/unit/constrained/test_reasoner_grammar_backend.py @@ -15,7 +15,7 @@ from sglang.srt.constrained.torch_ops.token_filter_torch_ops import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(2.0, "stage-a-test-cpu") +register_cpu_ci(2.0, "base-a-test-cpu") class _DummyTokenizer: diff --git a/test/registered/unit/constrained/test_token_filter_ops.py b/test/registered/unit/constrained/test_token_filter_ops.py index 08dba0b4b..363f6a818 100644 --- a/test/registered/unit/constrained/test_token_filter_ops.py +++ b/test/registered/unit/constrained/test_token_filter_ops.py @@ -14,7 +14,7 @@ from sglang.srt.constrained.torch_ops.token_filter_torch_ops import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(2.0, "stage-a-test-cpu") +register_cpu_ci(2.0, "base-a-test-cpu") # Conditionally import Triton path _has_cuda = torch.cuda.is_available() diff --git a/test/registered/unit/constrained/test_utils.py b/test/registered/unit/constrained/test_utils.py index 7384d0971..51ca4470f 100644 --- a/test/registered/unit/constrained/test_utils.py +++ b/test/registered/unit/constrained/test_utils.py @@ -14,7 +14,7 @@ import unittest from sglang.srt.constrained.utils import is_legacy_structural_tag from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(1.0, "stage-a-test-cpu") +register_cpu_ci(1.0, "base-a-test-cpu") class TestIsLegacyStructuralTag(unittest.TestCase): diff --git a/test/registered/unit/disaggregation/test_disaggregation_wire.py b/test/registered/unit/disaggregation/test_disaggregation_wire.py index 2c635b1d6..334b3121d 100644 --- a/test/registered/unit/disaggregation/test_disaggregation_wire.py +++ b/test/registered/unit/disaggregation/test_disaggregation_wire.py @@ -10,7 +10,7 @@ from sglang.srt.disaggregation.common.utils import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=2, suite="stage-a-test-cpu") +register_cpu_ci(est_time=2, suite="base-a-test-cpu") class TestDisaggregationWire(unittest.TestCase): diff --git a/test/registered/unit/disaggregation/test_register_to_bootstrap.py b/test/registered/unit/disaggregation/test_register_to_bootstrap.py index b16574812..2c39681e0 100644 --- a/test/registered/unit/disaggregation/test_register_to_bootstrap.py +++ b/test/registered/unit/disaggregation/test_register_to_bootstrap.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") import unittest from unittest.mock import MagicMock, call, patch diff --git a/test/registered/unit/entrypoints/openai/test_matched_stop.py b/test/registered/unit/entrypoints/openai/test_matched_stop.py index 9c0f5d5ee..9e3e950e0 100644 --- a/test/registered/unit/entrypoints/openai/test_matched_stop.py +++ b/test/registered/unit/entrypoints/openai/test_matched_stop.py @@ -3,7 +3,7 @@ import unittest from sglang.srt.sampling.sampling_params import MAX_LEN, get_max_seq_length from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class TestRegexPatternMaxLength(unittest.TestCase): diff --git a/test/registered/unit/entrypoints/openai/test_protocol.py b/test/registered/unit/entrypoints/openai/test_protocol.py index 776b0aedc..da27ef9ed 100644 --- a/test/registered/unit/entrypoints/openai/test_protocol.py +++ b/test/registered/unit/entrypoints/openai/test_protocol.py @@ -32,7 +32,7 @@ from sglang.srt.entrypoints.openai.protocol import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestModelCard(unittest.TestCase): diff --git a/test/registered/unit/entrypoints/openai/test_serving_chat.py b/test/registered/unit/entrypoints/openai/test_serving_chat.py index 608d2e76b..dbf4ed3f8 100644 --- a/test/registered/unit/entrypoints/openai/test_serving_chat.py +++ b/test/registered/unit/entrypoints/openai/test_serving_chat.py @@ -32,7 +32,7 @@ from sglang.srt.managers.template_detection import ReasoningToggleConfig from sglang.srt.utils import get_or_create_event_loop from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=11, suite="stage-a-test-cpu") +register_cpu_ci(est_time=11, suite="base-a-test-cpu") class _MockTokenizerManager: diff --git a/test/registered/unit/entrypoints/openai/test_serving_completions.py b/test/registered/unit/entrypoints/openai/test_serving_completions.py index 8f79b14a0..4817f4719 100644 --- a/test/registered/unit/entrypoints/openai/test_serving_completions.py +++ b/test/registered/unit/entrypoints/openai/test_serving_completions.py @@ -22,7 +22,7 @@ from sglang.srt.managers.tokenizer_manager import TokenizerManager from sglang.srt.utils import get_or_create_event_loop from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=11, suite="stage-a-test-cpu") +register_cpu_ci(est_time=11, suite="base-a-test-cpu") class _MockTemplateManager: diff --git a/test/registered/unit/entrypoints/openai/test_serving_embedding.py b/test/registered/unit/entrypoints/openai/test_serving_embedding.py index 9b8704e32..02c4cbe17 100644 --- a/test/registered/unit/entrypoints/openai/test_serving_embedding.py +++ b/test/registered/unit/entrypoints/openai/test_serving_embedding.py @@ -56,7 +56,7 @@ from sglang.srt.entrypoints.openai.serving_embedding import OpenAIServingEmbeddi from sglang.srt.managers.io_struct import EmbeddingReqInput from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") # Mock TokenizerManager for embedding tests diff --git a/test/registered/unit/entrypoints/openai/test_serving_transcription.py b/test/registered/unit/entrypoints/openai/test_serving_transcription.py index b096c6e9c..49dbafc47 100644 --- a/test/registered/unit/entrypoints/openai/test_serving_transcription.py +++ b/test/registered/unit/entrypoints/openai/test_serving_transcription.py @@ -28,7 +28,7 @@ from sglang.srt.utils import get_or_create_event_loop from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=4, suite="stage-a-test-cpu") +register_cpu_ci(est_time=4, suite="base-a-test-cpu") def _chunk(text: str, finish: str = None) -> dict: diff --git a/test/registered/unit/entrypoints/openai/test_whisper_adapter.py b/test/registered/unit/entrypoints/openai/test_whisper_adapter.py index 33e353397..1952b290a 100644 --- a/test/registered/unit/entrypoints/openai/test_whisper_adapter.py +++ b/test/registered/unit/entrypoints/openai/test_whisper_adapter.py @@ -21,7 +21,7 @@ from sglang.srt.entrypoints.openai.transcription_adapters.whisper import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=2, suite="stage-a-test-cpu") +register_cpu_ci(est_time=2, suite="base-a-test-cpu") class TestWhisperParseFusedOutput(CustomTestCase): diff --git a/test/registered/unit/entrypoints/test_ssl_cert_refresher.py b/test/registered/unit/entrypoints/test_ssl_cert_refresher.py index 119a08348..5b8f88370 100644 --- a/test/registered/unit/entrypoints/test_ssl_cert_refresher.py +++ b/test/registered/unit/entrypoints/test_ssl_cert_refresher.py @@ -8,7 +8,7 @@ from sglang.srt.entrypoints.ssl_utils import SSLCertRefresher from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=14, suite="stage-a-test-cpu") +register_cpu_ci(est_time=14, suite="base-a-test-cpu") def _make_temp_pem(content: bytes) -> str: diff --git a/test/registered/unit/entrypoints/test_v1_loads_aggregate.py b/test/registered/unit/entrypoints/test_v1_loads_aggregate.py index 4273f9687..3b4e8b34e 100644 --- a/test/registered/unit/entrypoints/test_v1_loads_aggregate.py +++ b/test/registered/unit/entrypoints/test_v1_loads_aggregate.py @@ -11,7 +11,7 @@ from sglang.srt.entrypoints.v1_loads import _compute_aggregate from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") def _load( diff --git a/test/registered/unit/eplb/test_balanced_packing.py b/test/registered/unit/eplb/test_balanced_packing.py index efa94f94d..a909814e5 100644 --- a/test/registered/unit/eplb/test_balanced_packing.py +++ b/test/registered/unit/eplb/test_balanced_packing.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") import unittest diff --git a/test/registered/unit/eplb/test_compute_logical_to_rank_dispatch_physical_map.py b/test/registered/unit/eplb/test_compute_logical_to_rank_dispatch_physical_map.py index f4981060c..5ae2b25da 100644 --- a/test/registered/unit/eplb/test_compute_logical_to_rank_dispatch_physical_map.py +++ b/test/registered/unit/eplb/test_compute_logical_to_rank_dispatch_physical_map.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") import types import unittest diff --git a/test/registered/unit/function_call/test_function_call_parser.py b/test/registered/unit/function_call/test_function_call_parser.py index 5e5459ded..9390ca4a8 100644 --- a/test/registered/unit/function_call/test_function_call_parser.py +++ b/test/registered/unit/function_call/test_function_call_parser.py @@ -31,7 +31,7 @@ from sglang.srt.function_call.pythonic_detector import PythonicDetector from sglang.srt.function_call.qwen3_coder_detector import Qwen3CoderDetector from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=15, suite="stage-a-test-cpu") +register_cpu_ci(est_time=15, suite="base-a-test-cpu") class TestPythonicDetector(unittest.TestCase): diff --git a/test/registered/unit/function_call/test_hermes_detector.py b/test/registered/unit/function_call/test_hermes_detector.py index d1a67c3ae..b6afb16bf 100644 --- a/test/registered/unit/function_call/test_hermes_detector.py +++ b/test/registered/unit/function_call/test_hermes_detector.py @@ -7,7 +7,7 @@ from sglang.srt.function_call.hermes_detector import HermesDetector from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(1.0, "stage-a-test-cpu") +register_cpu_ci(1.0, "base-a-test-cpu") class TestHermesDetector(CustomTestCase): diff --git a/test/registered/unit/function_call/test_hunyuan_detector.py b/test/registered/unit/function_call/test_hunyuan_detector.py index 5b64aac8b..e3d9db6d1 100644 --- a/test/registered/unit/function_call/test_hunyuan_detector.py +++ b/test/registered/unit/function_call/test_hunyuan_detector.py @@ -8,7 +8,7 @@ from sglang.srt.function_call.hunyuan_detector import HunyuanDetector from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") def _make_tools(): diff --git a/test/registered/unit/function_call/test_json_schema_constraint.py b/test/registered/unit/function_call/test_json_schema_constraint.py index f66943718..91867709c 100644 --- a/test/registered/unit/function_call/test_json_schema_constraint.py +++ b/test/registered/unit/function_call/test_json_schema_constraint.py @@ -18,7 +18,7 @@ from sglang.srt.function_call.utils import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(5, "stage-a-test-cpu") +register_cpu_ci(5, "base-a-test-cpu") class TestJsonSchemaConstraint(unittest.TestCase): diff --git a/test/registered/unit/function_call/test_llama32_detector.py b/test/registered/unit/function_call/test_llama32_detector.py index db828ef04..8a5a3f19c 100644 --- a/test/registered/unit/function_call/test_llama32_detector.py +++ b/test/registered/unit/function_call/test_llama32_detector.py @@ -7,7 +7,7 @@ from sglang.srt.function_call.llama32_detector import Llama32Detector from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(1.0, "stage-a-test-cpu") +register_cpu_ci(1.0, "base-a-test-cpu") class TestLlama32Detector(CustomTestCase): diff --git a/test/registered/unit/function_call/test_mistral_detector.py b/test/registered/unit/function_call/test_mistral_detector.py index ec49efedb..4dcfe00ef 100644 --- a/test/registered/unit/function_call/test_mistral_detector.py +++ b/test/registered/unit/function_call/test_mistral_detector.py @@ -7,7 +7,7 @@ from sglang.srt.function_call.mistral_detector import MistralDetector from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(1.0, "stage-a-test-cpu") +register_cpu_ci(1.0, "base-a-test-cpu") class TestMistralDetector(CustomTestCase): diff --git a/test/registered/unit/function_call/test_parallel_tool_calls.py b/test/registered/unit/function_call/test_parallel_tool_calls.py index 2f5af4d9a..f090d1336 100644 --- a/test/registered/unit/function_call/test_parallel_tool_calls.py +++ b/test/registered/unit/function_call/test_parallel_tool_calls.py @@ -23,7 +23,7 @@ from sglang.srt.entrypoints.openai.protocol import Function, Tool from sglang.srt.function_call.json_array_parser import JsonArrayParser from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(5, "stage-a-test-cpu") +register_cpu_ci(5, "base-a-test-cpu") class TestParallelToolCalls(unittest.TestCase): diff --git a/test/registered/unit/function_call/test_poolside_v1_detector.py b/test/registered/unit/function_call/test_poolside_v1_detector.py index 2370cf479..23998d298 100644 --- a/test/registered/unit/function_call/test_poolside_v1_detector.py +++ b/test/registered/unit/function_call/test_poolside_v1_detector.py @@ -8,7 +8,7 @@ from sglang.srt.function_call.poolside_v1_detector import PoolsideV1Detector from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(1.0, "stage-a-test-cpu") +register_cpu_ci(1.0, "base-a-test-cpu") class TestPoolsideV1Detector(CustomTestCase): diff --git a/test/registered/unit/function_call/test_unknown_tool_name.py b/test/registered/unit/function_call/test_unknown_tool_name.py index ce96c698a..4790c8bca 100644 --- a/test/registered/unit/function_call/test_unknown_tool_name.py +++ b/test/registered/unit/function_call/test_unknown_tool_name.py @@ -9,7 +9,7 @@ from sglang.srt.function_call.base_format_detector import BaseFormatDetector from sglang.srt.function_call.core_types import StreamingParseResult from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(5, "stage-a-test-cpu") +register_cpu_ci(5, "base-a-test-cpu") class DummyDetector(BaseFormatDetector): diff --git a/test/registered/unit/hardware_backend/mlx/test_quantization.py b/test/registered/unit/hardware_backend/mlx/test_quantization.py index f518d80b3..7065a7eb3 100644 --- a/test/registered/unit/hardware_backend/mlx/test_quantization.py +++ b/test/registered/unit/hardware_backend/mlx/test_quantization.py @@ -24,7 +24,7 @@ from sglang.test.ci.ci_register import register_cpu_ci # On non-Apple-Silicon CI runners the entire TestCase class skips via the # @skipUnless guard below, so this registration is the harmless "yes this # test exists" signal the registry requires. -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") _IS_APPLE_SILICON = platform.system() == "Darwin" and platform.machine() == "arm64" _HAS_MLX = ( diff --git a/test/registered/unit/layers/quantization/test_fp4_kv_cache_quant_method.py b/test/registered/unit/layers/quantization/test_fp4_kv_cache_quant_method.py index a6ae13fb2..9726d79f2 100644 --- a/test/registered/unit/layers/quantization/test_fp4_kv_cache_quant_method.py +++ b/test/registered/unit/layers/quantization/test_fp4_kv_cache_quant_method.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") import unittest diff --git a/test/registered/unit/layers/quantization/test_mxfp4_sm90_cutlass.py b/test/registered/unit/layers/quantization/test_mxfp4_sm90_cutlass.py index 85ca0fd27..c48270b0f 100644 --- a/test/registered/unit/layers/quantization/test_mxfp4_sm90_cutlass.py +++ b/test/registered/unit/layers/quantization/test_mxfp4_sm90_cutlass.py @@ -20,7 +20,7 @@ import torch from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=120, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=120, stage="base-b", runner_config="1-gpu-large") flashinfer_fused_moe = pytest.importorskip("flashinfer.fused_moe") diff --git a/test/registered/unit/layers/test_conv_layer.py b/test/registered/unit/layers/test_conv_layer.py index 243a304b5..d4934aa1e 100644 --- a/test/registered/unit/layers/test_conv_layer.py +++ b/test/registered/unit/layers/test_conv_layer.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=7, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=7, suite="stage-b-test-1-gpu-small-amd") import unittest diff --git a/test/registered/unit/layers/test_mamba_state_scatter_triton.py b/test/registered/unit/layers/test_mamba_state_scatter_triton.py index 863a2ccc0..b02136462 100644 --- a/test/registered/unit/layers/test_mamba_state_scatter_triton.py +++ b/test/registered/unit/layers/test_mamba_state_scatter_triton.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=7, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=7, stage="base-b", runner_config="1-gpu-small") import os import unittest diff --git a/test/registered/unit/layers/test_pooler_score_and_pool.py b/test/registered/unit/layers/test_pooler_score_and_pool.py index 9ce8d33ff..8eb40d6ba 100644 --- a/test/registered/unit/layers/test_pooler_score_and_pool.py +++ b/test/registered/unit/layers/test_pooler_score_and_pool.py @@ -19,7 +19,7 @@ from sglang.srt.layers.pooler import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") def _make_forward_batch( diff --git a/test/registered/unit/lora/test_mem_pool_ep_unit.py b/test/registered/unit/lora/test_mem_pool_ep_unit.py index 024770dff..7398f6087 100644 --- a/test/registered/unit/lora/test_mem_pool_ep_unit.py +++ b/test/registered/unit/lora/test_mem_pool_ep_unit.py @@ -16,7 +16,7 @@ Usage: from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci # CPU-only unit test; no CUDA/distributed dependencies. -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=9, suite="stage-b-test-1-gpu-small-amd") import types diff --git a/test/registered/unit/managers/test_dp_budget.py b/test/registered/unit/managers/test_dp_budget.py index 5d4e66cea..59d35c294 100644 --- a/test/registered/unit/managers/test_dp_budget.py +++ b/test/registered/unit/managers/test_dp_budget.py @@ -17,7 +17,7 @@ maybe_stub_sgl_kernel() from sglang.srt.managers.data_parallel_controller import DPBudget from sglang.srt.managers.io_struct import GetLoadsReqOutput, WatchLoadUpdateReq -register_cpu_ci(est_time=11, suite="stage-a-test-cpu") +register_cpu_ci(est_time=11, suite="base-a-test-cpu") _BASE_LOAD = GetLoadsReqOutput( diff --git a/test/registered/unit/managers/test_hisparse_unit.py b/test/registered/unit/managers/test_hisparse_unit.py index 14ef091ad..ff2c98b34 100644 --- a/test/registered/unit/managers/test_hisparse_unit.py +++ b/test/registered/unit/managers/test_hisparse_unit.py @@ -16,7 +16,7 @@ import torch from sglang.srt.utils import is_cuda, is_hip, is_npu, is_xpu from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") # --------------------------------------------------------------------------- # Test configuration (small-scale for fast CI runs) diff --git a/test/registered/unit/managers/test_io_struct.py b/test/registered/unit/managers/test_io_struct.py index 6e2714570..d9a3b86cd 100644 --- a/test/registered/unit/managers/test_io_struct.py +++ b/test/registered/unit/managers/test_io_struct.py @@ -9,7 +9,7 @@ from sglang.test.test_utils import ( CustomTestCase, ) -register_cuda_ci(est_time=8, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=8, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/managers/test_prefill_adder.py b/test/registered/unit/managers/test_prefill_adder.py index 14d4eab70..c5c51ee06 100644 --- a/test/registered/unit/managers/test_prefill_adder.py +++ b/test/registered/unit/managers/test_prefill_adder.py @@ -12,7 +12,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=2, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/managers/test_priority_scheduling_disaggregation.py b/test/registered/unit/managers/test_priority_scheduling_disaggregation.py index 11c40d6e0..172455598 100644 --- a/test/registered/unit/managers/test_priority_scheduling_disaggregation.py +++ b/test/registered/unit/managers/test_priority_scheduling_disaggregation.py @@ -14,7 +14,7 @@ from sglang.srt.managers.schedule_batch import FINISH_ABORT # noqa: E402 from sglang.srt.managers.scheduler import Scheduler # noqa: E402 from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=5, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=5, stage="base-b", runner_config="1-gpu-small") class TestDisaggregationPriorityQueueing(unittest.TestCase): diff --git a/test/registered/unit/managers/test_profile_merger_http_api.py b/test/registered/unit/managers/test_profile_merger_http_api.py index ccb12dae7..e06fb7a79 100644 --- a/test/registered/unit/managers/test_profile_merger_http_api.py +++ b/test/registered/unit/managers/test_profile_merger_http_api.py @@ -4,7 +4,7 @@ import unittest from sglang.srt.managers.io_struct import ProfileReqInput from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=8, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=9, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/managers/test_scheduler_chunked_req_gate.py b/test/registered/unit/managers/test_scheduler_chunked_req_gate.py index 87a6daf7e..3e6a73c88 100644 --- a/test/registered/unit/managers/test_scheduler_chunked_req_gate.py +++ b/test/registered/unit/managers/test_scheduler_chunked_req_gate.py @@ -15,7 +15,7 @@ from sglang.srt.managers.schedule_batch import Req from sglang.srt.managers.scheduler import Scheduler from sglang.srt.mem_cache.chunk_cache import ChunkCache -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") def _make_req( diff --git a/test/registered/unit/managers/test_scheduler_flush_cache.py b/test/registered/unit/managers/test_scheduler_flush_cache.py index 0b5d5aadd..73a522d26 100644 --- a/test/registered/unit/managers/test_scheduler_flush_cache.py +++ b/test/registered/unit/managers/test_scheduler_flush_cache.py @@ -9,7 +9,7 @@ maybe_stub_sgl_kernel() from sglang.srt.managers.io_struct import FlushCacheReqInput from sglang.srt.managers.scheduler import Scheduler -register_cpu_ci(est_time=14, suite="stage-a-test-cpu") +register_cpu_ci(est_time=14, suite="base-a-test-cpu") class TestSchedulerFlushCache(unittest.TestCase): diff --git a/test/registered/unit/managers/test_scheduler_pause_generation.py b/test/registered/unit/managers/test_scheduler_pause_generation.py index b1059a33e..c6200584c 100644 --- a/test/registered/unit/managers/test_scheduler_pause_generation.py +++ b/test/registered/unit/managers/test_scheduler_pause_generation.py @@ -11,7 +11,7 @@ from sglang.srt.managers.io_struct import PauseGenerationReqInput from sglang.srt.managers.scheduler import Scheduler from sglang.srt.managers.scheduler_runtime_checker_mixin import PoolStats -register_cpu_ci(est_time=15, suite="stage-a-test-cpu") +register_cpu_ci(est_time=15, suite="base-a-test-cpu") class TestSchedulerPauseGeneration(unittest.TestCase): diff --git a/test/registered/unit/managers/test_template_manager.py b/test/registered/unit/managers/test_template_manager.py index 18d01e11b..dd4db0c41 100644 --- a/test/registered/unit/managers/test_template_manager.py +++ b/test/registered/unit/managers/test_template_manager.py @@ -10,7 +10,7 @@ from sglang.srt.managers.template_detection import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(2.0, "stage-a-test-cpu") +register_cpu_ci(2.0, "base-a-test-cpu") class _DummyTokenizer: diff --git a/test/registered/unit/mem_cache/test_decode_radix_lock_ref.py b/test/registered/unit/mem_cache/test_decode_radix_lock_ref.py index f392e9fcd..863942000 100644 --- a/test/registered/unit/mem_cache/test_decode_radix_lock_ref.py +++ b/test/registered/unit/mem_cache/test_decode_radix_lock_ref.py @@ -22,7 +22,7 @@ Usage: from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=10, suite="stage-b-test-1-gpu-small-amd") import unittest diff --git a/test/registered/unit/mem_cache/test_evict_policy.py b/test/registered/unit/mem_cache/test_evict_policy.py index 8365c0580..643dc0bd7 100644 --- a/test/registered/unit/mem_cache/test_evict_policy.py +++ b/test/registered/unit/mem_cache/test_evict_policy.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import unittest from unittest.mock import MagicMock diff --git a/test/registered/unit/mem_cache/test_mamba_unittest.py b/test/registered/unit/mem_cache/test_mamba_unittest.py index 4cc253e56..f5ff1d2f1 100755 --- a/test/registered/unit/mem_cache/test_mamba_unittest.py +++ b/test/registered/unit/mem_cache/test_mamba_unittest.py @@ -23,7 +23,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=9, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/mem_cache/test_nsa_pool_host_unit.py b/test/registered/unit/mem_cache/test_nsa_pool_host_unit.py index c4fafdb56..17fe9d691 100644 --- a/test/registered/unit/mem_cache/test_nsa_pool_host_unit.py +++ b/test/registered/unit/mem_cache/test_nsa_pool_host_unit.py @@ -12,7 +12,7 @@ from sglang.srt.mem_cache.memory_pool_host import ( from sglang.srt.utils import is_cuda, is_hip, is_npu, is_xpu from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") class TestNSAHiCacheTransfer(unittest.TestCase): diff --git a/test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py b/test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py index a167b4f02..44d4e0419 100644 --- a/test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py +++ b/test/registered/unit/mem_cache/test_radix_cache_slru_accuracy.py @@ -13,7 +13,7 @@ from sglang.srt.mem_cache.memory_pool import MHATokenToKVPool, ReqToTokenPool from sglang.srt.mem_cache.radix_cache import RadixCache, RadixKey from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=8, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=8, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=8, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/mem_cache/test_radix_cache_unit.py b/test/registered/unit/mem_cache/test_radix_cache_unit.py index 9cbb7bc77..a445b9b3d 100644 --- a/test/registered/unit/mem_cache/test_radix_cache_unit.py +++ b/test/registered/unit/mem_cache/test_radix_cache_unit.py @@ -21,7 +21,7 @@ from sglang.srt.mem_cache.common import available_and_evictable_str from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci # CPU-based unit test, runs quickly on any GPU runner -register_cuda_ci(est_time=15, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=15, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=5, suite="stage-b-test-1-gpu-small-amd") import random diff --git a/test/registered/unit/mem_cache/test_radix_force_miss.py b/test/registered/unit/mem_cache/test_radix_force_miss.py index 24d5f345b..c91481bba 100644 --- a/test/registered/unit/mem_cache/test_radix_force_miss.py +++ b/test/registered/unit/mem_cache/test_radix_force_miss.py @@ -7,7 +7,7 @@ RadixCache. from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") import unittest import unittest.mock diff --git a/test/registered/unit/mem_cache/test_streaming_session_unit.py b/test/registered/unit/mem_cache/test_streaming_session_unit.py index f833872fb..b0fe8cd9e 100644 --- a/test/registered/unit/mem_cache/test_streaming_session_unit.py +++ b/test/registered/unit/mem_cache/test_streaming_session_unit.py @@ -7,7 +7,7 @@ from sglang.srt.mem_cache.base_prefix_cache import MatchResult from sglang.srt.session.streaming_session import SessionSlot, StreamingSession from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=12, suite="stage-a-test-cpu") +register_cpu_ci(est_time=12, suite="base-a-test-cpu") class _FakeAllocator: diff --git a/test/registered/unit/mem_cache/test_swa_alloc_extend_page_estimation.py b/test/registered/unit/mem_cache/test_swa_alloc_extend_page_estimation.py index c1af18e4f..15ff77ea3 100644 --- a/test/registered/unit/mem_cache/test_swa_alloc_extend_page_estimation.py +++ b/test/registered/unit/mem_cache/test_swa_alloc_extend_page_estimation.py @@ -15,7 +15,7 @@ from sglang.srt.mem_cache.swa_memory_pool import SWATokenToKVPoolAllocator from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=2, suite="stage-a-test-cpu") +register_cpu_ci(est_time=2, suite="base-a-test-cpu") def _make_self(*, page_size: int, full_available: int, swa_available: int): diff --git a/test/registered/unit/mem_cache/test_swa_eviction_boundary.py b/test/registered/unit/mem_cache/test_swa_eviction_boundary.py index 3dd0bf2f2..ef643c8bb 100644 --- a/test/registered/unit/mem_cache/test_swa_eviction_boundary.py +++ b/test/registered/unit/mem_cache/test_swa_eviction_boundary.py @@ -26,7 +26,7 @@ from sglang.srt.mem_cache.swa_radix_cache import SWARadixCache from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=12, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=12, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=10, suite="stage-b-test-1-gpu-small-amd") # --------------------------------------------------------------------------- diff --git a/test/registered/unit/mem_cache/test_swa_lock_release_lifecycle.py b/test/registered/unit/mem_cache/test_swa_lock_release_lifecycle.py index 7409fab82..173f338dc 100644 --- a/test/registered/unit/mem_cache/test_swa_lock_release_lifecycle.py +++ b/test/registered/unit/mem_cache/test_swa_lock_release_lifecycle.py @@ -30,7 +30,7 @@ from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=12, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=12, stage="base-b", runner_config="1-gpu-small") def _build_tree( diff --git a/test/registered/unit/mem_cache/test_swa_unittest.py b/test/registered/unit/mem_cache/test_swa_unittest.py index 08f9a0c1c..96e0bd1db 100644 --- a/test/registered/unit/mem_cache/test_swa_unittest.py +++ b/test/registered/unit/mem_cache/test_swa_unittest.py @@ -21,7 +21,7 @@ from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=10, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/mem_cache/test_unified_radix_cache_bench.py b/test/registered/unit/mem_cache/test_unified_radix_cache_bench.py index b76ecbba4..bef9eec69 100644 --- a/test/registered/unit/mem_cache/test_unified_radix_cache_bench.py +++ b/test/registered/unit/mem_cache/test_unified_radix_cache_bench.py @@ -38,7 +38,7 @@ from sglang.srt.server_args import ServerArgs, set_global_server_args_for_schedu from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_cuda_ci -register_cuda_ci(est_time=25, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=25, stage="base-b", runner_config="1-gpu-small") # --------------------------------------------------------------------------- # Constants diff --git a/test/registered/unit/mem_cache/test_unified_radix_cache_unittest.py b/test/registered/unit/mem_cache/test_unified_radix_cache_unittest.py index 7074084d9..43202bc27 100644 --- a/test/registered/unit/mem_cache/test_unified_radix_cache_unittest.py +++ b/test/registered/unit/mem_cache/test_unified_radix_cache_unittest.py @@ -49,7 +49,7 @@ from sglang.srt.utils import get_device from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=10, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=10, stage="base-b", runner_config="1-gpu-small") @dataclass(frozen=True) diff --git a/test/registered/unit/model_executor/test_pool_configurator.py b/test/registered/unit/model_executor/test_pool_configurator.py index ea98b2c4d..761efeb88 100644 --- a/test/registered/unit/model_executor/test_pool_configurator.py +++ b/test/registered/unit/model_executor/test_pool_configurator.py @@ -12,7 +12,7 @@ from unittest.mock import MagicMock, patch from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") @contextlib.contextmanager diff --git a/test/registered/unit/model_loader/test_modelopt_export.py b/test/registered/unit/model_loader/test_modelopt_export.py index 22421c24b..a530f1745 100644 --- a/test/registered/unit/model_loader/test_modelopt_export.py +++ b/test/registered/unit/model_loader/test_modelopt_export.py @@ -19,7 +19,7 @@ from sglang.srt.configs.model_config import ModelConfig from sglang.srt.model_loader.loader import ModelOptModelLoader from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=9, suite="stage-b-test-1-gpu-small-amd") # Note: PYTHONPATH=python should be set when running tests diff --git a/test/registered/unit/model_loader/test_modelopt_loader.py b/test/registered/unit/model_loader/test_modelopt_loader.py index 9acdfaabb..fe3724b67 100644 --- a/test/registered/unit/model_loader/test_modelopt_loader.py +++ b/test/registered/unit/model_loader/test_modelopt_loader.py @@ -30,7 +30,7 @@ CALIBRATION_BATCH_SIZE = 36 CALIBRATION_NUM_SAMPLES = 512 DEFAULT_DEVICE = "cuda:0" -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-small") class TestModelOptModelLoader(CustomTestCase): diff --git a/test/registered/unit/model_loader/test_prefetch_checkpoints.py b/test/registered/unit/model_loader/test_prefetch_checkpoints.py index 0a3e91faf..e417e60b3 100644 --- a/test/registered/unit/model_loader/test_prefetch_checkpoints.py +++ b/test/registered/unit/model_loader/test_prefetch_checkpoints.py @@ -18,7 +18,7 @@ from sglang.srt.model_loader.weight_utils import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") class TestPrefetchWeightsIdentical(unittest.TestCase): diff --git a/test/registered/unit/model_loader/test_runai_model_streamer_loader.py b/test/registered/unit/model_loader/test_runai_model_streamer_loader.py index 8b409c560..e99665c98 100644 --- a/test/registered/unit/model_loader/test_runai_model_streamer_loader.py +++ b/test/registered/unit/model_loader/test_runai_model_streamer_loader.py @@ -15,7 +15,7 @@ from sglang.srt.models.deepseek_common import deepseek_weight_loader from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class _FakeModel: diff --git a/test/registered/unit/models/test_llava.py b/test/registered/unit/models/test_llava.py index 7a211193f..58f4a5c59 100644 --- a/test/registered/unit/models/test_llava.py +++ b/test/registered/unit/models/test_llava.py @@ -5,7 +5,7 @@ from sglang.srt.models.llava import AutoModel, LlavaForConditionalGeneration from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=9, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/models/test_nemotron_h_weight_loading.py b/test/registered/unit/models/test_nemotron_h_weight_loading.py index 8a5e30a4e..0f886cdda 100644 --- a/test/registered/unit/models/test_nemotron_h_weight_loading.py +++ b/test/registered/unit/models/test_nemotron_h_weight_loading.py @@ -7,7 +7,7 @@ parameters absent from the current runtime model. from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=4, suite="stage-a-test-cpu") +register_cpu_ci(est_time=4, suite="base-a-test-cpu") import unittest from types import SimpleNamespace diff --git a/test/registered/unit/models/test_qwen3_5_packed_weight_loader.py b/test/registered/unit/models/test_qwen3_5_packed_weight_loader.py index f2d60debb..e384e1e95 100644 --- a/test/registered/unit/models/test_qwen3_5_packed_weight_loader.py +++ b/test/registered/unit/models/test_qwen3_5_packed_weight_loader.py @@ -10,7 +10,7 @@ Regression test for https://github.com/sgl-project/sglang/issues/23051 from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=4, suite="stage-a-test-cpu") +register_cpu_ci(est_time=4, suite="base-a-test-cpu") import unittest from types import SimpleNamespace diff --git a/test/registered/unit/observability/test_cpu_monitor.py b/test/registered/unit/observability/test_cpu_monitor.py index 3cb4e3bd5..35eb29771 100644 --- a/test/registered/unit/observability/test_cpu_monitor.py +++ b/test/registered/unit/observability/test_cpu_monitor.py @@ -6,7 +6,7 @@ from unittest.mock import MagicMock, patch from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=60, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=60, suite="base-a-test-cpu", nightly=True) class TestCpuMonitor(unittest.TestCase): diff --git a/test/registered/unit/observability/test_forward_pass_metrics.py b/test/registered/unit/observability/test_forward_pass_metrics.py index d63c89993..a34470951 100644 --- a/test/registered/unit/observability/test_forward_pass_metrics.py +++ b/test/registered/unit/observability/test_forward_pass_metrics.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") import types import unittest diff --git a/test/registered/unit/observability/test_func_timer.py b/test/registered/unit/observability/test_func_timer.py index 30608ca8e..8efd5a773 100644 --- a/test/registered/unit/observability/test_func_timer.py +++ b/test/registered/unit/observability/test_func_timer.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import asyncio import unittest diff --git a/test/registered/unit/observability/test_label_transform.py b/test/registered/unit/observability/test_label_transform.py index f71c66bd1..321ed6455 100644 --- a/test/registered/unit/observability/test_label_transform.py +++ b/test/registered/unit/observability/test_label_transform.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import unittest diff --git a/test/registered/unit/observability/test_metrics_utils.py b/test/registered/unit/observability/test_metrics_utils.py index 6eb26d8ff..0789b120e 100644 --- a/test/registered/unit/observability/test_metrics_utils.py +++ b/test/registered/unit/observability/test_metrics_utils.py @@ -6,7 +6,7 @@ from sglang.srt.observability.utils import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class TestMetricsUtils(unittest.TestCase): diff --git a/test/registered/unit/observability/test_request_metrics_exporter.py b/test/registered/unit/observability/test_request_metrics_exporter.py index 683bb10b6..d481032ae 100644 --- a/test/registered/unit/observability/test_request_metrics_exporter.py +++ b/test/registered/unit/observability/test_request_metrics_exporter.py @@ -5,7 +5,7 @@ from typing import Any, Dict, List, Optional from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import asyncio import json diff --git a/test/registered/unit/observability/test_startup_func_log_and_timer.py b/test/registered/unit/observability/test_startup_func_log_and_timer.py index 90fcf5074..2eae0172b 100644 --- a/test/registered/unit/observability/test_startup_func_log_and_timer.py +++ b/test/registered/unit/observability/test_startup_func_log_and_timer.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import unittest from unittest.mock import MagicMock, patch diff --git a/test/registered/unit/observability/test_trace.py b/test/registered/unit/observability/test_trace.py index 6a03324fc..18620e4bf 100644 --- a/test/registered/unit/observability/test_trace.py +++ b/test/registered/unit/observability/test_trace.py @@ -4,7 +4,7 @@ import os from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import threading import unittest diff --git a/test/registered/unit/parser/test_code_completion_parser.py b/test/registered/unit/parser/test_code_completion_parser.py index b8a411585..334e89476 100644 --- a/test/registered/unit/parser/test_code_completion_parser.py +++ b/test/registered/unit/parser/test_code_completion_parser.py @@ -18,7 +18,7 @@ from sglang.srt.parser.code_completion_parser import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestFimPosition(CustomTestCase): diff --git a/test/registered/unit/parser/test_conversation.py b/test/registered/unit/parser/test_conversation.py index 72bfb8cca..3cb8a65d0 100644 --- a/test/registered/unit/parser/test_conversation.py +++ b/test/registered/unit/parser/test_conversation.py @@ -32,7 +32,7 @@ from sglang.srt.parser.conversation import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestConversationGetPrompt(CustomTestCase): diff --git a/test/registered/unit/parser/test_harmony_parser.py b/test/registered/unit/parser/test_harmony_parser.py index 26242a9db..da22fa4bb 100644 --- a/test/registered/unit/parser/test_harmony_parser.py +++ b/test/registered/unit/parser/test_harmony_parser.py @@ -14,7 +14,7 @@ from sglang.srt.parser.harmony_parser import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestEvent(CustomTestCase): diff --git a/test/registered/unit/parser/test_jinja_template_utils.py b/test/registered/unit/parser/test_jinja_template_utils.py index 3396de98a..791c53446 100644 --- a/test/registered/unit/parser/test_jinja_template_utils.py +++ b/test/registered/unit/parser/test_jinja_template_utils.py @@ -9,7 +9,7 @@ from sglang.srt.parser.jinja_template_utils import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestTemplateContentFormatDetection(CustomTestCase): diff --git a/test/registered/unit/parser/test_reasoning_content_without_parser.py b/test/registered/unit/parser/test_reasoning_content_without_parser.py index f8eada591..20bb9c221 100644 --- a/test/registered/unit/parser/test_reasoning_content_without_parser.py +++ b/test/registered/unit/parser/test_reasoning_content_without_parser.py @@ -4,7 +4,7 @@ from sglang.srt.parser.reasoning_parser import ReasoningParser from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") # Simulated model output that contains think tags (e.g. from DeepSeek-R1) THINK_OUTPUT = ( diff --git a/test/registered/unit/parser/test_reasoning_parser.py b/test/registered/unit/parser/test_reasoning_parser.py index 85fff23aa..3d9ea07f7 100644 --- a/test/registered/unit/parser/test_reasoning_parser.py +++ b/test/registered/unit/parser/test_reasoning_parser.py @@ -18,7 +18,7 @@ from sglang.srt.parser.reasoning_parser import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestStreamingParseResult(CustomTestCase): diff --git a/test/registered/unit/platforms/test_platform_interface.py b/test/registered/unit/platforms/test_platform_interface.py index 8c8cec606..a4b4cd9f7 100644 --- a/test/registered/unit/platforms/test_platform_interface.py +++ b/test/registered/unit/platforms/test_platform_interface.py @@ -21,7 +21,7 @@ from sglang.srt.platforms.interface import SRTPlatform from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") # --------------------------------------------------------------------------- diff --git a/test/registered/unit/plugins/test_hook_registry.py b/test/registered/unit/plugins/test_hook_registry.py index b01ed3b37..e898735e1 100644 --- a/test/registered/unit/plugins/test_hook_registry.py +++ b/test/registered/unit/plugins/test_hook_registry.py @@ -16,7 +16,7 @@ from sglang.srt.plugins.hook_registry import HookRegistry, HookType, plugin_hook from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") # --------------------------------------------------------------------------- # Helpers: synthetic module creation diff --git a/test/registered/unit/plugins/test_load_plugins.py b/test/registered/unit/plugins/test_load_plugins.py index be2e13570..af4774b95 100644 --- a/test/registered/unit/plugins/test_load_plugins.py +++ b/test/registered/unit/plugins/test_load_plugins.py @@ -19,7 +19,7 @@ from sglang.srt.plugins import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") def _make_ep(name, dist_name=None, load_fn=None): diff --git a/test/registered/unit/sampling/test_custom_logit_processor.py b/test/registered/unit/sampling/test_custom_logit_processor.py index eb9a76d0c..d02e50f40 100644 --- a/test/registered/unit/sampling/test_custom_logit_processor.py +++ b/test/registered/unit/sampling/test_custom_logit_processor.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") import json import unittest diff --git a/test/registered/unit/sampling/test_penaltylib.py b/test/registered/unit/sampling/test_penaltylib.py index 5e39ed32c..77130044e 100644 --- a/test/registered/unit/sampling/test_penaltylib.py +++ b/test/registered/unit/sampling/test_penaltylib.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=9, suite="stage-a-test-cpu") +register_cpu_ci(est_time=9, suite="base-a-test-cpu") import unittest from unittest.mock import MagicMock diff --git a/test/registered/unit/sampling/test_sampling_batch_info.py b/test/registered/unit/sampling/test_sampling_batch_info.py index c3df29892..7bbdfa8a9 100644 --- a/test/registered/unit/sampling/test_sampling_batch_info.py +++ b/test/registered/unit/sampling/test_sampling_batch_info.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=9, suite="stage-a-test-cpu") +register_cpu_ci(est_time=9, suite="base-a-test-cpu") import unittest from unittest.mock import MagicMock, patch diff --git a/test/registered/unit/sampling/test_sampling_params.py b/test/registered/unit/sampling/test_sampling_params.py index 67c51a1a2..c245c8c72 100644 --- a/test/registered/unit/sampling/test_sampling_params.py +++ b/test/registered/unit/sampling/test_sampling_params.py @@ -2,7 +2,7 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") import unittest from unittest.mock import MagicMock diff --git a/test/registered/unit/server_args/test_server_args.py b/test/registered/unit/server_args/test_server_args.py index 939a91b49..69fc94dd8 100644 --- a/test/registered/unit/server_args/test_server_args.py +++ b/test/registered/unit/server_args/test_server_args.py @@ -10,7 +10,7 @@ from sglang.test.test_utils import ( CustomTestCase, ) -register_cpu_ci(est_time=10, suite="stage-a-test-cpu") +register_cpu_ci(est_time=10, suite="base-a-test-cpu") # Mock get_device() so all tests run on CPU-only CI runners _mock_device = patch("sglang.srt.server_args.get_device", return_value="cuda") diff --git a/test/registered/unit/spec/test_adaptive_spec_params.py b/test/registered/unit/spec/test_adaptive_spec_params.py index 41fe14954..b1f7937d3 100644 --- a/test/registered/unit/spec/test_adaptive_spec_params.py +++ b/test/registered/unit/spec/test_adaptive_spec_params.py @@ -3,7 +3,7 @@ import unittest from sglang.srt.speculative.adaptive_spec_params import AdaptiveSpeculativeParams from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class TestAdaptiveSpeculativeParams(unittest.TestCase): diff --git a/test/registered/unit/spec/test_ngram_corpus.py b/test/registered/unit/spec/test_ngram_corpus.py index 8d491b5b7..49d44aa3b 100644 --- a/test/registered/unit/spec/test_ngram_corpus.py +++ b/test/registered/unit/spec/test_ngram_corpus.py @@ -13,7 +13,7 @@ from sglang.srt.speculative.cpp_ngram.ngram_corpus import NgramCorpus from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=26, suite="stage-a-test-cpu") +register_cpu_ci(est_time=26, suite="base-a-test-cpu") def _make_corpus(match_type="BFS", **kwargs): diff --git a/test/registered/unit/spec/test_spec_registry.py b/test/registered/unit/spec/test_spec_registry.py index ee41e16e0..baeb9d632 100644 --- a/test/registered/unit/spec/test_spec_registry.py +++ b/test/registered/unit/spec/test_spec_registry.py @@ -12,7 +12,7 @@ from sglang.srt.speculative.spec_registry import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") class _RegistryIsolated(CustomTestCase): diff --git a/test/registered/unit/spec/test_spec_utils_traverse_tree.py b/test/registered/unit/spec/test_spec_utils_traverse_tree.py index d580e024c..69c5c66c2 100644 --- a/test/registered/unit/spec/test_spec_utils_traverse_tree.py +++ b/test/registered/unit/spec/test_spec_utils_traverse_tree.py @@ -14,7 +14,7 @@ import torch from sglang.srt.speculative.spec_utils import traverse_tree from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=4, suite="stage-a-test-cpu") +register_cpu_ci(est_time=4, suite="base-a-test-cpu") class TestTraverseTreePassesIntsToGrammar(unittest.TestCase): diff --git a/test/registered/unit/test_bench_long_context.py b/test/registered/unit/test_bench_long_context.py index 304cea3d4..0c8b81bde 100644 --- a/test/registered/unit/test_bench_long_context.py +++ b/test/registered/unit/test_bench_long_context.py @@ -16,7 +16,7 @@ from unittest.mock import MagicMock, patch from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") REPO_ROOT = Path(__file__).resolve().parents[3] HICACHE_DIR = REPO_ROOT / "benchmark" / "hicache" diff --git a/test/registered/unit/test_no_bare_pytest_main.py b/test/registered/unit/test_no_bare_pytest_main.py index 5dda5c34f..8d47f012a 100644 --- a/test/registered/unit/test_no_bare_pytest_main.py +++ b/test/registered/unit/test_no_bare_pytest_main.py @@ -5,7 +5,7 @@ import unittest from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=5, suite="stage-a-test-cpu") +register_cpu_ci(est_time=5, suite="base-a-test-cpu") _REPO_ROOT = pathlib.Path(__file__).resolve().parents[3] diff --git a/test/registered/unit/test_runai_utils.py b/test/registered/unit/test_runai_utils.py index 83a0adf1a..910559f5e 100644 --- a/test/registered/unit/test_runai_utils.py +++ b/test/registered/unit/test_runai_utils.py @@ -6,7 +6,7 @@ from sglang.srt.utils.runai_utils import ObjectStorageModel, is_runai_obj_uri from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestRunaiUtils(CustomTestCase): diff --git a/test/registered/unit/tokenizer/test_tiktoken_tokenizer.py b/test/registered/unit/tokenizer/test_tiktoken_tokenizer.py index 8b3023317..7fe997bc6 100644 --- a/test/registered/unit/tokenizer/test_tiktoken_tokenizer.py +++ b/test/registered/unit/tokenizer/test_tiktoken_tokenizer.py @@ -6,7 +6,7 @@ from unittest.mock import MagicMock, patch from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") from sglang.srt.tokenizer.tiktoken_tokenizer import ( CONTROL_TOKEN_TEXTS, diff --git a/test/registered/unit/tools/test_docker_build_metadata_args.py b/test/registered/unit/tools/test_docker_build_metadata_args.py index c4ee4c042..7aca2444b 100644 --- a/test/registered/unit/tools/test_docker_build_metadata_args.py +++ b/test/registered/unit/tools/test_docker_build_metadata_args.py @@ -19,7 +19,7 @@ def _load_module(name, path): register_cpu_ci = _load_module("ci_register", CI_REGISTER_PATH).register_cpu_ci -register_cpu_ci(est_time=0, suite="stage-a-test-cpu") +register_cpu_ci(est_time=0, suite="base-a-test-cpu") class TestDockerBuildMetadataArgs(unittest.TestCase): diff --git a/test/registered/unit/tools/test_get_version_tag.py b/test/registered/unit/tools/test_get_version_tag.py index 71370ad1e..ed068d18b 100644 --- a/test/registered/unit/tools/test_get_version_tag.py +++ b/test/registered/unit/tools/test_get_version_tag.py @@ -33,7 +33,7 @@ def _load_module(name, path): register_cpu_ci = _load_module("ci_register", CI_REGISTER_PATH).register_cpu_ci -register_cpu_ci(est_time=0, suite="stage-a-test-cpu") +register_cpu_ci(est_time=0, suite="base-a-test-cpu") class TestGetVersionTag(unittest.TestCase): diff --git a/test/registered/unit/utils/test_auth.py b/test/registered/unit/utils/test_auth.py index ac4b9b8e8..e690d8576 100644 --- a/test/registered/unit/utils/test_auth.py +++ b/test/registered/unit/utils/test_auth.py @@ -11,7 +11,7 @@ from sglang.srt.utils.auth import ( from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(1.0, "stage-a-test-cpu") +register_cpu_ci(1.0, "base-a-test-cpu") class TestAuthDecision(CustomTestCase): diff --git a/test/registered/unit/utils/test_gauge_histogram.py b/test/registered/unit/utils/test_gauge_histogram.py index b2dac54f9..d4a355716 100644 --- a/test/registered/unit/utils/test_gauge_histogram.py +++ b/test/registered/unit/utils/test_gauge_histogram.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") import unittest diff --git a/test/registered/unit/utils/test_hf_transformers.py b/test/registered/unit/utils/test_hf_transformers.py index df7fddb29..b29839d0e 100644 --- a/test/registered/unit/utils/test_hf_transformers.py +++ b/test/registered/unit/utils/test_hf_transformers.py @@ -24,7 +24,7 @@ from sglang.srt.utils.hf_transformers.tokenizer import _fix_special_tokens_patte from sglang.srt.utils.hf_transformers_patches import normalize_rope_scaling_compat from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") # --------------------------------------------------------------------------- diff --git a/test/registered/unit/utils/test_hf_transformers_fastokens.py b/test/registered/unit/utils/test_hf_transformers_fastokens.py index 9d63e91d5..0b8017833 100644 --- a/test/registered/unit/utils/test_hf_transformers_fastokens.py +++ b/test/registered/unit/utils/test_hf_transformers_fastokens.py @@ -12,7 +12,7 @@ from sglang.test.test_utils import ( TOKENIZER_MODEL = DEFAULT_SMALL_MODEL_NAME_FOR_TEST_QWEN -register_cpu_ci(est_time=30, suite="stage-a-test-cpu") +register_cpu_ci(est_time=30, suite="base-a-test-cpu") try: diff --git a/test/registered/unit/utils/test_http_server_auth.py b/test/registered/unit/utils/test_http_server_auth.py index 69f50154e..f2a42101e 100644 --- a/test/registered/unit/utils/test_http_server_auth.py +++ b/test/registered/unit/utils/test_http_server_auth.py @@ -10,7 +10,7 @@ import unittest from sglang.srt.utils.auth import AuthLevel, decide_request_auth from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class TestHttpServerAdminAuth(unittest.TestCase): diff --git a/test/registered/unit/utils/test_json_response.py b/test/registered/unit/utils/test_json_response.py index 764de5f53..6f83290d0 100644 --- a/test/registered/unit/utils/test_json_response.py +++ b/test/registered/unit/utils/test_json_response.py @@ -10,7 +10,7 @@ from sglang.srt.utils.json_response import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") class TestJSONResponseUtils(unittest.TestCase): diff --git a/test/registered/unit/utils/test_patch_tokenizer.py b/test/registered/unit/utils/test_patch_tokenizer.py index ea0ba7533..52e6be73b 100644 --- a/test/registered/unit/utils/test_patch_tokenizer.py +++ b/test/registered/unit/utils/test_patch_tokenizer.py @@ -10,7 +10,7 @@ from sglang.srt.utils.patch_tokenizer import ( ) from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=30, suite="stage-a-test-cpu", nightly=True) +register_cpu_ci(est_time=30, suite="base-a-test-cpu", nightly=True) class TestPatchTokenizerEndToEndTest(unittest.TestCase): diff --git a/test/registered/unit/utils/test_profile_merger.py b/test/registered/unit/utils/test_profile_merger.py index a7f5d2cfb..879afb514 100644 --- a/test/registered/unit/utils/test_profile_merger.py +++ b/test/registered/unit/utils/test_profile_merger.py @@ -17,7 +17,7 @@ from sglang.srt.managers.io_struct import ProfileReq, ProfileReqInput, ProfileRe from sglang.srt.utils.profile_merger import ProfileMerger from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=9, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=9, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=8, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/unit/utils/test_subprocess_watchdog.py b/test/registered/unit/utils/test_subprocess_watchdog.py index 48873ecbe..eb3df663f 100644 --- a/test/registered/unit/utils/test_subprocess_watchdog.py +++ b/test/registered/unit/utils/test_subprocess_watchdog.py @@ -24,7 +24,7 @@ from sglang.srt.utils.watchdog import SubprocessWatchdog from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase -register_cpu_ci(est_time=9, suite="stage-a-test-cpu") +register_cpu_ci(est_time=9, suite="base-a-test-cpu") def healthy_worker(): diff --git a/test/registered/unit/utils/test_weight_checker.py b/test/registered/unit/utils/test_weight_checker.py index ab84cfb46..a253e6155 100644 --- a/test/registered/unit/utils/test_weight_checker.py +++ b/test/registered/unit/utils/test_weight_checker.py @@ -38,7 +38,7 @@ from sglang.srt.utils.weight_checker import ( from sglang.test.ci.ci_register import register_cuda_ci from sglang.test.test_utils import CustomTestCase -register_cuda_ci(est_time=30, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=30, stage="base-b", runner_config="1-gpu-small") # --------------------------------------------------------------------------- diff --git a/test/registered/utils/test_log_utils.py b/test/registered/utils/test_log_utils.py index b65d89017..9ea137e3e 100644 --- a/test/registered/utils/test_log_utils.py +++ b/test/registered/utils/test_log_utils.py @@ -10,7 +10,7 @@ from pathlib import Path from sglang.srt.utils.log_utils import create_log_targets, log_json from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=6, suite="stage-a-test-cpu") +register_cpu_ci(est_time=6, suite="base-a-test-cpu") _LOG_PREFIX_RE = re.compile(r"^\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] ") diff --git a/test/registered/utils/test_network_address.py b/test/registered/utils/test_network_address.py index ff05206c2..2ef628433 100644 --- a/test/registered/utils/test_network_address.py +++ b/test/registered/utils/test_network_address.py @@ -6,7 +6,7 @@ from sglang.srt.server_args import PortArgs, ServerArgs from sglang.srt.utils.network import NetworkAddress from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") # Mock get_device() so ServerArgs tests run on CPU-only CI runners _mock_device = patch("sglang.srt.server_args.get_device", return_value="cuda") diff --git a/test/registered/utils/test_numa_utils.py b/test/registered/utils/test_numa_utils.py index a66093334..a0863a62d 100644 --- a/test/registered/utils/test_numa_utils.py +++ b/test/registered/utils/test_numa_utils.py @@ -9,9 +9,9 @@ from sglang.srt.utils.numa_utils import ( ) from sglang.test.ci.ci_register import register_cpu_ci, register_cuda_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") -register_cuda_ci(est_time=10, stage="stage-c", runner_config="4-gpu-gb200") -register_cuda_ci(est_time=10, stage="stage-c", runner_config="8-gpu-b200") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") +register_cuda_ci(est_time=10, stage="base-c", runner_config="4-gpu-gb200") +register_cuda_ci(est_time=10, stage="base-c", runner_config="8-gpu-b200") class TestIsNumaAvailable(unittest.TestCase): diff --git a/test/registered/utils/test_socket_utils.py b/test/registered/utils/test_socket_utils.py index 63a42ac39..6e1d4b95c 100644 --- a/test/registered/utils/test_socket_utils.py +++ b/test/registered/utils/test_socket_utils.py @@ -15,7 +15,7 @@ from sglang.test.ci.ci_register import register_cpu_ci from sglang.test.test_utils import CustomTestCase from sglang.utils import normalize_base_url, release_port, reserve_port -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class TestTryBindSocket(CustomTestCase): diff --git a/test/registered/vlm/test_evs.py b/test/registered/vlm/test_evs.py index f95839e50..e2ee1c9e5 100644 --- a/test/registered/vlm/test_evs.py +++ b/test/registered/vlm/test_evs.py @@ -6,7 +6,7 @@ import pytest from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci from sglang.test.test_utils import run_doctests -register_cuda_ci(est_time=11, stage="stage-b", runner_config="1-gpu-small") +register_cuda_ci(est_time=11, stage="base-b", runner_config="1-gpu-small") register_amd_ci(est_time=20, suite="stage-b-test-1-gpu-small-amd") diff --git a/test/registered/vlm/test_video_utils.py b/test/registered/vlm/test_video_utils.py index 7587bb9ee..287845135 100644 --- a/test/registered/vlm/test_video_utils.py +++ b/test/registered/vlm/test_video_utils.py @@ -5,7 +5,7 @@ import pytest from sglang.srt.utils import sample_video_frames from sglang.test.ci.ci_register import register_cpu_ci -register_cpu_ci(est_time=7, suite="stage-a-test-cpu") +register_cpu_ci(est_time=7, suite="base-a-test-cpu") class DummyVideo: diff --git a/test/registered/vlm/test_vision_chunked_prefill.py b/test/registered/vlm/test_vision_chunked_prefill.py index 9f42d04e1..0f791decc 100644 --- a/test/registered/vlm/test_vision_chunked_prefill.py +++ b/test/registered/vlm/test_vision_chunked_prefill.py @@ -1,6 +1,6 @@ from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci -register_cuda_ci(est_time=156, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=156, stage="base-b", runner_config="1-gpu-large") register_amd_ci(est_time=270, suite="stage-b-test-1-gpu-small-amd") """ Usage: diff --git a/test/registered/vlm/test_vision_openai_server_a.py b/test/registered/vlm/test_vision_openai_server_a.py index 8611be701..68b1c79f2 100644 --- a/test/registered/vlm/test_vision_openai_server_a.py +++ b/test/registered/vlm/test_vision_openai_server_a.py @@ -19,7 +19,7 @@ from sglang.test.vlm_utils import ( VideoOpenAITestMixin, ) -register_cuda_ci(est_time=780, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=780, stage="base-b", runner_config="1-gpu-large") class TestLlavaServer(ImageOpenAITestMixin): diff --git a/test/registered/vlm/test_vlm_input_format.py b/test/registered/vlm/test_vlm_input_format.py index 70c4cc4eb..94e387b10 100644 --- a/test/registered/vlm/test_vlm_input_format.py +++ b/test/registered/vlm/test_vlm_input_format.py @@ -38,7 +38,7 @@ from sglang.srt.parser.conversation import generate_chat_conv from sglang.srt.utils.common import is_cuda, is_xpu from sglang.srt.utils.hf_transformers_utils import _fix_added_tokens_encoding -register_cuda_ci(est_time=747, stage="stage-b", runner_config="1-gpu-large") +register_cuda_ci(est_time=747, stage="base-b", runner_config="1-gpu-large") IMAGE_MAN_IRONING_URL = "https://raw.githubusercontent.com/sgl-project/sgl-test-files/refs/heads/main/images/man_ironing_on_back_of_suv.png" IMAGE_SGL_LOGO_URL = "https://raw.githubusercontent.com/sgl-project/sgl-test-files/refs/heads/main/images/sgl_logo.png" diff --git a/test/registered/vlm/test_vlm_tp4.py b/test/registered/vlm/test_vlm_tp4.py index 22361383b..7aae595ee 100644 --- a/test/registered/vlm/test_vlm_tp4.py +++ b/test/registered/vlm/test_vlm_tp4.py @@ -15,7 +15,7 @@ from sglang.test.test_utils import ( popen_launch_server, ) -register_cuda_ci(est_time=133, stage="stage-c", runner_config="4-gpu-h100") +register_cuda_ci(est_time=133, stage="base-c", runner_config="4-gpu-h100") QWEN35_27B_MODEL = "Qwen/Qwen3.5-27B" MMMU_ACCURACY_THRESHOLD = 0.65 diff --git a/test/run_suite.py b/test/run_suite.py index d1afb4e59..ceff2a2b7 100644 --- a/test/run_suite.py +++ b/test/run_suite.py @@ -22,9 +22,12 @@ HW_MAPPING = { "npu": HWBackend.NPU, } -# Per-commit test suites (run on every PR) +# Per-commit test suites (run on every PR). +# Includes both base-a/b/c (always-on; pr-test.yml) and extra-a/b +# (label-gated; pr-test-extra.yml). Tests are tagged per-commit regardless; +# pr-test-extra.yml's `run-ci-extra` PR label decides whether extra-* dispatches. PER_COMMIT_SUITES = { - HWBackend.CPU: ["stage-a-test-cpu", "stage-b-test-cpu"], + HWBackend.CPU: ["base-a-test-cpu", "base-b-test-cpu"], HWBackend.AMD: [ "stage-a-test-1-gpu-small-amd", "stage-b-test-1-gpu-small-amd", @@ -39,24 +42,24 @@ PER_COMMIT_SUITES = { "stage-c-test-large-8-gpu-amd-mi35x", ], HWBackend.CUDA: [ - "stage-a-test-1-gpu-small", - "stage-b-test-1-gpu-small", - "stage-b-test-1-gpu-large", - "stage-b-test-2-gpu-large", - "stage-b-test-4-gpu-b200", - "stage-b-kernel-unit-1-gpu-large", - "stage-b-kernel-unit-1-gpu-b200", - "stage-b-kernel-unit-8-gpu-h200", - "stage-b-kernel-benchmark-1-gpu-large", - "stage-c-test-4-gpu-h100", - "stage-c-test-4-gpu-b200", - "stage-c-test-4-gpu-gb200", - "stage-c-test-8-gpu-h20", - "stage-c-test-8-gpu-h200", - "stage-c-test-8-gpu-b200", - "stage-c-test-deepep-4-gpu-h100", - "stage-c-test-dsv4-4-gpu-b200", - "stage-c-test-dsv4-8-gpu-h200", + "base-a-test-1-gpu-small", + "base-b-test-1-gpu-small", + "base-b-test-1-gpu-large", + "base-b-test-2-gpu-large", + "base-b-test-4-gpu-b200", + "base-b-kernel-unit-1-gpu-large", + "base-b-kernel-unit-1-gpu-b200", + "base-b-kernel-unit-8-gpu-h200", + "base-b-kernel-benchmark-1-gpu-large", + "base-c-test-4-gpu-h100", + "base-c-test-4-gpu-b200", + "base-c-test-4-gpu-gb200", + "base-c-test-8-gpu-h20", + "base-c-test-8-gpu-h200", + "base-c-test-8-gpu-b200", + "base-c-test-deepep-4-gpu-h100", + "base-c-test-dsv4-4-gpu-b200", + "base-c-test-dsv4-8-gpu-h200", # extra-a / extra-b: label-gated PR opt-in suites in pr-test-extra.yml # (tests still tagged per-commit but skipped on default PR runs). "extra-a-test-1-gpu-small", @@ -68,7 +71,7 @@ PER_COMMIT_SUITES = { "extra-b-test-deepep-8-gpu-h200", ], HWBackend.NPU: [ - "stage-a-test-1-gpu-small", + "base-a-test-1-gpu-small", "stage-b-test-1-npu-a2", "stage-b-test-2-npu-a2", "stage-b-test-4-npu-a3", diff --git a/test/srt/run_suite.py b/test/srt/run_suite.py index 00af66144..61b41e422 100644 --- a/test/srt/run_suite.py +++ b/test/srt/run_suite.py @@ -9,7 +9,7 @@ from sglang.test.ci.ci_utils import TestFile, run_unittest_files # NOTE: please sort the test cases alphabetically by the test file name # NOTE: per-commit-4-gpu, per-commit-8-gpu-h200, per-commit-8-gpu-h20, per-commit-4-gpu-b200, # per-commit-4-gpu-gb200, per-commit-4-gpu-deepep, and per-commit-8-gpu-h200-deepep suites -# have been migrated to stage-c suites in test/registered/ using the CI registry system. +# have been migrated to base-c suites in test/registered/ using the CI registry system. suites = { # quantization_test suite migrated to test/registered/quant/ # All CUDA tests migrated to test/registered/