Skip to content

[CI] Optimize CI workflow - #7

Merged
apinge merged 2 commits into
apinge:qwen3_5_v0.5.15_dflashfrom
sammysun0711:ci/optimize_ci_workflow
Jul 31, 2026
Merged

[CI] Optimize CI workflow#7
apinge merged 2 commits into
apinge:qwen3_5_v0.5.15_dflashfrom
sammysun0711:ci/optimize_ci_workflow

Conversation

@sammysun0711

@sammysun0711 sammysun0711 commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Optimizes the Qwen3.5 CI workflow to reduce nightly job count, adjust scheduling, and clean up Docker safely on shared runners.

Modifications

  • Merge nightly load tests: pure_text, concurrency, and request_rate run in one load_test job per model (one server launch instead of three separate matrix jobs)
  • Change nightly schedule time and optimize load test timeout
  • Docker cleanup: each job removes only its own container and sglang_test:ci-<run_id>- image

Accuracy Tests

Speed Tests and Profiling

Checklist

Review and Merge Process

  1. Ping Merge Oncalls to start the process. See the PR Merge Process.
  2. Get approvals from CODEOWNERS and other reviewers.
  3. Trigger CI tests with comments or contact authorized users to do so.
    • Common commands include /tag-and-rerun-ci, /tag-run-ci-label, /rerun-failed-ci
  4. After green CI and required approvals, ask Merge Oncalls or people with Write permission to merge the PR.

Signed-off-by: Xiake Sun <xiake.sun@amd.com>
Signed-off-by: Xiake Sun <xiake.sun@amd.com>
@sammysun0711
sammysun0711 marked this pull request as ready for review July 31, 2026 06:28
@sammysun0711
sammysun0711 requested review from apinge and Copilot July 31, 2026 07:12
@apinge
apinge merged commit b008d42 into apinge:qwen3_5_v0.5.15_dflash Jul 31, 2026
11 of 17 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR optimizes the Qwen3.5 benchmark GitHub Actions workflow to reduce scheduled job count and improve runner hygiene by consolidating nightly load tests into a single per-model job and tightening per-job cleanup.

Changes:

  • Adds a new load_test benchmark target that runs pure_text + concurrency + request_rate in one container/server lifecycle.
  • Introduces ShareGPT dataset path wiring and pre-flight dataset/script validation in CI.
  • Updates nightly cron schedule and switches cleanup to only remove the job’s container + image.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
scripts/ci/sglang_benchmark_workflow.sh Adds ShareGPT dataset env wiring, dataset validation helper, and a new load_test mode that runs multiple benchmarks sequentially.
.github/workflows/sglang_benchmark_workflow.yaml Adjusts schedule/dispatch options, collapses nightly benchmark targets to load_test, validates datasets/scripts, reduces benchmark timeout, and limits Docker cleanup to job-owned resources.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +464 to +475
import json
import sys
from pathlib import Path

path = Path(sys.argv[1])
if not path.is_file():
raise SystemExit(f"ShareGPT dataset not found: {path}")
try:
json.loads(path.read_text(encoding="utf-8"))
except json.JSONDecodeError as exc:
raise SystemExit(f"ShareGPT dataset is not valid JSON: {path} ({exc})")
print(f"Using ShareGPT dataset: {path}")
Comment on lines +291 to +299
python3 - <<'PY' "${dataset_path}"
import json
import sys
from pathlib import Path

path = Path(sys.argv[1])
json.loads(path.read_text(encoding="utf-8"))
print(f"Validated ShareGPT dataset: {path} ({path.stat().st_size} bytes)")
PY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants