diff --git a/.github/workflows/ci-coverage-overview.yml b/.github/workflows/ci-coverage-overview.yml index 3fc5512f6..db9269d67 100644 --- a/.github/workflows/ci-coverage-overview.yml +++ b/.github/workflows/ci-coverage-overview.yml @@ -6,7 +6,7 @@ on: pull_request: paths: - '.github/workflows/ci-coverage-overview.yml' - - 'scripts/ci/ci_coverage_report.py' + - 'scripts/ci/utils/ci_coverage_report.py' - 'test/registered/**' workflow_dispatch: inputs: @@ -34,7 +34,7 @@ jobs: - name: Generate Summary Report run: | - python scripts/ci/ci_coverage_report.py --section summary + python scripts/ci/utils/ci_coverage_report.py --section summary by-folder: name: Tests by Folder @@ -50,7 +50,7 @@ jobs: - name: Generate Tests by Folder Report run: | - python scripts/ci/ci_coverage_report.py --section by-folder + python scripts/ci/utils/ci_coverage_report.py --section by-folder by-suite: name: Tests by Suite @@ -66,7 +66,7 @@ jobs: - name: Generate Tests by Suite Report run: | - python scripts/ci/ci_coverage_report.py --section by-suite + python scripts/ci/utils/ci_coverage_report.py --section by-suite json-export: name: JSON Export @@ -83,7 +83,7 @@ jobs: - name: Generate JSON Report run: | - python scripts/ci/ci_coverage_report.py --output-format json > ci_coverage.json + python scripts/ci/utils/ci_coverage_report.py --output-format json > ci_coverage.json - name: Upload JSON artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/execute-notebook.yml b/.github/workflows/execute-notebook.yml index 52942c77c..953f34b72 100644 --- a/.github/workflows/execute-notebook.yml +++ b/.github/workflows/execute-notebook.yml @@ -24,7 +24,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh pip install -r docs/requirements.txt apt-get update && apt-get install -y pandoc parallel retry ln -sf "$(which python3)" /usr/bin/python diff --git a/.github/workflows/nightly-test-amd.yml b/.github/workflows/nightly-test-amd.yml index 936fbb778..1e0a9bf11 100644 --- a/.github/workflows/nightly-test-amd.yml +++ b/.github/workflows/nightly-test-amd.yml @@ -71,17 +71,17 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Nightly Unit Test (1-GPU) timeout-minutes: 60 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-1-gpu --nightly --timeout-per-file 600 --continue-on-error || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -101,17 +101,17 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Nightly Test (2-GPU) run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -130,18 +130,18 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Nightly Accuracy Test (2-GPU VLM MMMU) timeout-minutes: 180 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-2-gpu-vlm --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -160,18 +160,18 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Performance Test (2-GPU Text Models) timeout-minutes: 120 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e SGLANG_USE_AITER=1 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-perf-text-2-gpu --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -191,18 +191,18 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Performance Test (2-GPU VLM Models) timeout-minutes: 180 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e SGLANG_USE_AITER=1 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-perf-vlm-2-gpu --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? @@ -222,17 +222,17 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Accuracy Test (8-GPU GPT-OSS) timeout-minutes: 180 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-gpt-oss --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -241,7 +241,7 @@ jobs: - name: Accuracy Test (8-GPU Grok1-FP8) timeout-minutes: 60 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-grok1-fp8 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -261,17 +261,17 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Accuracy Test (8-GPU DeepSeek-R1) timeout-minutes: 240 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-deepseek-r1 --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -291,18 +291,18 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Accuracy Test (8-GPU Grok1-INT4) timeout-minutes: 60 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -314,7 +314,7 @@ jobs: continue-on-error: true # Perf test failure doesn't fail the job if accuracy passed run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -334,18 +334,18 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Accuracy Test (8-GPU Grok2) timeout-minutes: 60 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -357,7 +357,7 @@ jobs: continue-on-error: true # Perf test failure doesn't fail the job if accuracy passed run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -377,18 +377,18 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Accuracy Test (8-GPU DeepSeek-V3.1) timeout-minutes: 120 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e SGLANG_USE_AITER=1 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-deepseek-v31 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -400,7 +400,7 @@ jobs: continue-on-error: true # Perf test failure doesn't fail the job if accuracy passed run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e SGLANG_USE_ROCM700A=1 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-deepseek-v31 --nightly --timeout-per-file 18000 || TEST_EXIT_CODE=$? @@ -421,20 +421,20 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Nightly Test MI35x (1-GPU) timeout-minutes: 60 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-1-gpu-mi35x --nightly --timeout-per-file 600 --continue-on-error || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -453,20 +453,20 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Accuracy Test MI35x (8-GPU GPT-OSS) timeout-minutes: 180 run: | - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -485,21 +485,21 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Accuracy Test MI35x (8-GPU Grok1-INT4) timeout-minutes: 60 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-mi35x-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -511,7 +511,7 @@ jobs: continue-on-error: true # Perf test failure doesn't fail the job if accuracy passed run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-grok1-int4 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -531,21 +531,21 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Accuracy Test MI35x (8-GPU Grok2) timeout-minutes: 60 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-accuracy-8-gpu-mi35x-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -557,7 +557,7 @@ jobs: continue-on-error: true # Perf test failure doesn't fail the job if accuracy passed run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e RCCL_MSCCL_ENABLE=0 \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-grok2 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? @@ -577,21 +577,21 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Accuracy Test MI35x (8-GPU DeepSeek-R1-MXFP4) timeout-minutes: 180 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-deepseek-r1-mxfp4 --nightly --timeout-per-file 7200 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -602,7 +602,7 @@ jobs: continue-on-error: true # Perf test failure doesn't fail the job if accuracy passed run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 registered/amd/perf/mi35x/test_deepseek_r1_mxfp4_perf_mi35x.py || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -621,21 +621,21 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Accuracy Test MI35x (8-GPU DeepSeek-V3.2) timeout-minutes: 120 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-amd-8-gpu-mi35x-deepseek-v32 --nightly --timeout-per-file 3600 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -654,21 +654,21 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Performance Test MI35x (8-GPU DeepSeek-V3.2 Basic) timeout-minutes: 150 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-deepseek-v32-basic --nightly --timeout-per-file 5400 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true @@ -687,21 +687,21 @@ jobs: - name: Setup docker run: | touch github_summary.md - bash scripts/ci/amd_ci_start_container.sh + bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh # Install tabulate for run_suite.py (missing in MI35x container) - bash scripts/ci/amd_ci_exec.sh pip install tabulate + bash scripts/ci/amd/amd_ci_exec.sh pip install tabulate - name: Performance Test MI35x (8-GPU DeepSeek-V3.2 MTP) timeout-minutes: 150 run: | > github_summary.md # Clear summary file - bash scripts/ci/amd_ci_exec.sh -w /sglang-checkout/test \ + bash scripts/ci/amd/amd_ci_exec.sh -w /sglang-checkout/test \ -e GITHUB_STEP_SUMMARY="/sglang-checkout/github_summary.md" \ python3 run_suite.py --hw amd --suite nightly-perf-8-gpu-mi35x-deepseek-v32-mtp --nightly --timeout-per-file 5400 || TEST_EXIT_CODE=$? echo "$(> $GITHUB_STEP_SUMMARY || true diff --git a/.github/workflows/nightly-test-npu.yml b/.github/workflows/nightly-test-npu.yml index b06bf6819..1ab6b6733 100644 --- a/.github/workflows/nightly-test-npu.yml +++ b/.github/workflows/nightly-test-npu.yml @@ -51,7 +51,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh a3 + bash scripts/ci/npu/npu_ci_install_dependency.sh a3 # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy @@ -59,7 +59,7 @@ jobs: - name: Print Log Information run: | - bash scripts/ci/npu_log_print.sh + bash scripts/ci/npu/npu_log_print.sh - name: Run test timeout-minutes: 240 env: @@ -99,7 +99,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh a3 + bash scripts/ci/npu/npu_ci_install_dependency.sh a3 # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy @@ -107,7 +107,7 @@ jobs: - name: Print Log Information run: | - bash scripts/ci/npu_log_print.sh + bash scripts/ci/npu/npu_log_print.sh - name: Run test timeout-minutes: 240 env: @@ -147,7 +147,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh a3 + bash scripts/ci/npu/npu_ci_install_dependency.sh a3 # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy @@ -155,7 +155,7 @@ jobs: - name: Print Log Information run: | - bash scripts/ci/npu_log_print.sh + bash scripts/ci/npu/npu_log_print.sh - name: Run test timeout-minutes: 240 diff --git a/.github/workflows/nightly-test-nvidia.yml b/.github/workflows/nightly-test-nvidia.yml index c97c420fc..d4d84a18d 100644 --- a/.github/workflows/nightly-test-nvidia.yml +++ b/.github/workflows/nightly-test-nvidia.yml @@ -66,7 +66,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 60 @@ -86,7 +86,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -112,7 +112,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run common 8-GPU model tests if: always() @@ -148,7 +148,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -174,7 +174,7 @@ jobs: - name: Install dependencies run: | - IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh + IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh - name: Run common 8-GPU model tests if: always() @@ -199,7 +199,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run eval test for text models timeout-minutes: 120 @@ -219,7 +219,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run performance test for text models timeout-minutes: 180 @@ -238,7 +238,7 @@ jobs: GITHUB_RUN_ID: ${{ github.run_id }} GITHUB_RUN_NUMBER: ${{ github.run_number }} run: | - python3 scripts/ci/publish_traces.py --traces-dir test/performance_profiles_text_models + python3 scripts/ci/utils/publish_traces.py --traces-dir test/performance_profiles_text_models # VLM accuracy tests nightly-test-vlm-accuracy-2-gpu-runner: @@ -252,7 +252,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run eval test for VLM models (fixed MMMU-100) timeout-minutes: 240 @@ -272,7 +272,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run perf test for VLM models (MMMU) timeout-minutes: 240 @@ -291,7 +291,7 @@ jobs: GITHUB_RUN_ID: ${{ github.run_id }} GITHUB_RUN_NUMBER: ${{ github.run_number }} run: | - python3 scripts/ci/publish_traces.py --traces-dir test/performance_profiles_vlms + python3 scripts/ci/utils/publish_traces.py --traces-dir test/performance_profiles_vlms # diffusion performance tests nightly-test-multimodal-server-1-gpu: @@ -310,7 +310,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh diffusion + bash scripts/ci/cuda/ci_install_dependency.sh diffusion pip install slack_sdk - name: Run diffusion server tests @@ -343,7 +343,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh diffusion + bash scripts/ci/cuda/ci_install_dependency.sh diffusion pip install slack_sdk - name: Run diffusion server tests @@ -371,7 +371,7 @@ jobs: - name: Install dependencies run: | - IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh + IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 300 @@ -393,7 +393,7 @@ jobs: - name: Install dependencies run: | - IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh + IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 120 diff --git a/.github/workflows/pr-benchmark-rust.yml b/.github/workflows/pr-benchmark-rust.yml index 85f174b41..bbee6bc71 100644 --- a/.github/workflows/pr-benchmark-rust.yml +++ b/.github/workflows/pr-benchmark-rust.yml @@ -34,7 +34,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_gateway_dependencies.sh + bash scripts/ci/cuda/ci_install_gateway_dependencies.sh - name: Configure sccache uses: mozilla-actions/sccache-action@v0.0.9 @@ -117,7 +117,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_gateway_dependencies.sh + bash scripts/ci/cuda/ci_install_gateway_dependencies.sh - name: Configure sccache uses: mozilla-actions/sccache-action@v0.0.9 diff --git a/.github/workflows/pr-test-amd.yml b/.github/workflows/pr-test-amd.yml index 5c05d9640..1c3a3cc1c 100644 --- a/.github/workflows/pr-test-amd.yml +++ b/.github/workflows/pr-test-amd.yml @@ -92,7 +92,8 @@ jobs: - "python/sglang/!(multimodal_gen)/**" - "python/pyproject_rocm.toml" - "python/pyproject_other.toml" - - "scripts/ci/**" + - "scripts/ci/amd/*" + - "scripts/ci/utils/*" - "test/**" - ".github/workflows/pr-test-amd.yml" sgl_kernel: @@ -131,13 +132,13 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 14 @@ -179,13 +180,13 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 20 @@ -222,18 +223,18 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh + bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 10 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-a-test-1-amd + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-a-test-1-amd stage-b-test-small-1-gpu-amd: needs: [check-changes, stage-a-test-1-amd] @@ -263,17 +264,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 13 --timeout-per-file 1800 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 13 --timeout-per-file 1800 stage-b-test-small-1-gpu-amd-mi35x: needs: [check-changes, stage-a-test-1-amd] @@ -302,17 +303,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-amd-mi35x + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-amd-mi35x stage-b-test-large-2-gpu-amd: needs: [check-changes, stage-a-test-1-amd] @@ -341,17 +342,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-amd + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-amd multimodal-gen-test-1-gpu-amd: needs: [check-changes] @@ -381,13 +382,13 @@ jobs: pattern: wheel-python3.10-cuda12.9 - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh diffusion + bash scripts/ci/amd/amd_ci_install_dependency.sh diffusion - name: Setup kernel caches run: | @@ -501,13 +502,13 @@ jobs: pattern: wheel-python3.10-cuda12.9 - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies run: | - bash scripts/ci/amd_ci_install_dependency.sh diffusion + bash scripts/ci/amd/amd_ci_install_dependency.sh diffusion - name: Setup kernel caches run: | @@ -622,23 +623,23 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Test RCCL multi-GPU communication timeout-minutes: 5 run: | echo "Testing RCCL multi-GPU communication with debug info..." - docker exec ci_sglang bash -c "cd /sglang-checkout && NCCL_DEBUG=INFO RCCL_DEBUG=INFO torchrun --nproc_per_node=8 scripts/ci/test_rccl_multi_gpu.py" + docker exec ci_sglang bash -c "cd /sglang-checkout && NCCL_DEBUG=INFO RCCL_DEBUG=INFO torchrun --nproc_per_node=8 scripts/ci/amd/test_rccl_multi_gpu.py" - name: Run test timeout-minutes: 60 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 3600 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 3600 stage-c-test-large-8-gpu-amd-mi35x: needs: [check-changes, call-gate, stage-b-test-small-1-gpu-amd, stage-b-test-large-2-gpu-amd] @@ -668,17 +669,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 60 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd-mi35x --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 3600 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-c-test-large-8-gpu-amd-mi35x --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 3600 stage-b-test-small-1-gpu-performance-amd: needs: [check-changes, call-gate, stage-a-test-1-amd] @@ -707,17 +708,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-performance-amd --timeout-per-file 1200 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-performance-amd --timeout-per-file 1200 stage-b-test-large-1-gpu-performance-amd: needs: [check-changes, call-gate, stage-a-test-1-amd] @@ -747,17 +748,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-1-gpu-performance-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 1200 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-1-gpu-performance-amd --auto-partition-id ${{ matrix.part }} --auto-partition-size 2 --timeout-per-file 1200 stage-b-test-large-2-gpu-performance-amd: needs: [check-changes, call-gate, stage-a-test-1-amd] @@ -786,17 +787,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-performance-amd --timeout-per-file 1200 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-performance-amd --timeout-per-file 1200 stage-b-test-small-1-gpu-accuracy-amd: needs: [check-changes, stage-a-test-1-amd] @@ -825,17 +826,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" -e SGLANG_USE_AITER=0 python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-accuracy-amd --timeout-per-file 1800 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" -e SGLANG_USE_AITER=0 python3 run_suite.py --hw amd --suite stage-b-test-small-1-gpu-accuracy-amd --timeout-per-file 1800 stage-b-test-large-2-gpu-accuracy-amd: needs: [check-changes, stage-a-test-1-amd] @@ -864,17 +865,17 @@ jobs: run: bash scripts/ensure_vram_clear.sh rocm - name: Start CI container - run: bash scripts/ci/amd_ci_start_container.sh + run: bash scripts/ci/amd/amd_ci_start_container.sh env: GITHUB_WORKSPACE: ${{ github.workspace }} - name: Install dependencies - run: bash scripts/ci/amd_ci_install_dependency.sh + run: bash scripts/ci/amd/amd_ci_install_dependency.sh - name: Run test timeout-minutes: 30 run: | - bash scripts/ci/amd_ci_exec.sh -w "/sglang-checkout/test" -e SGLANG_USE_AITER_AR=0 -e SGLANG_USE_AITER=0 -e HF_HUB_ENABLE_HF_TRANSFER=0 python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-accuracy-amd --timeout-per-file 1800 + bash scripts/ci/amd/amd_ci_exec.sh -w "/sglang-checkout/test" -e SGLANG_USE_AITER_AR=0 -e SGLANG_USE_AITER=0 -e HF_HUB_ENABLE_HF_TRANSFER=0 python3 run_suite.py --hw amd --suite stage-b-test-large-2-gpu-accuracy-amd --timeout-per-file 1800 pr-test-amd-finish: needs: diff --git a/.github/workflows/pr-test-npu.yml b/.github/workflows/pr-test-npu.yml index e908538ab..644464167 100644 --- a/.github/workflows/pr-test-npu.yml +++ b/.github/workflows/pr-test-npu.yml @@ -57,7 +57,7 @@ jobs: main_package: - "python/sglang/!(multimodal_gen)/**" - "python/pyproject_other.toml" - - "scripts/ci/npu_ci_install_dependency.sh" + - "scripts/ci/npu/npu_ci_install_dependency.sh" - "test/srt/ascend/**" - ".github/workflows/pr-test-npu.yml" @@ -89,7 +89,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh 910b + bash scripts/ci/npu/npu_ci_install_dependency.sh 910b # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy @@ -134,7 +134,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh 910b + bash scripts/ci/npu/npu_ci_install_dependency.sh 910b # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy @@ -175,7 +175,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh 910b + bash scripts/ci/npu/npu_ci_install_dependency.sh 910b # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy @@ -220,7 +220,7 @@ jobs: pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple" pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn" - bash scripts/ci/npu_ci_install_dependency.sh a3 + bash scripts/ci/npu/npu_ci_install_dependency.sh a3 # copy required file from our daily cache cp ~/.cache/modelscope/hub/datasets/otavia/ShareGPT_Vicuna_unfiltered/ShareGPT_V3_unfiltered_cleaned_split.json /tmp # copy download through proxy diff --git a/.github/workflows/pr-test-rust.yml b/.github/workflows/pr-test-rust.yml index 9b707f4f7..4202f6c2e 100644 --- a/.github/workflows/pr-test-rust.yml +++ b/.github/workflows/pr-test-rust.yml @@ -33,7 +33,7 @@ jobs: - name: Install rust dependencies run: | - bash scripts/ci/ci_install_gateway_dependencies.sh + bash scripts/ci/cuda/ci_install_gateway_dependencies.sh - name: Configure sccache uses: mozilla-actions/sccache-action@v0.0.9 @@ -120,7 +120,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_gateway_dependencies.sh + bash scripts/ci/cuda/ci_install_gateway_dependencies.sh - name: Configure sccache uses: mozilla-actions/sccache-action@v0.0.9 @@ -222,7 +222,7 @@ jobs: - name: Install SGLang dependencies run: | - sudo --preserve-env=PATH bash scripts/ci/ci_install_dependency.sh + sudo --preserve-env=PATH bash scripts/ci/cuda/ci_install_dependency.sh - name: Setup Oracle Instant Client if: matrix.setup_oracle diff --git a/.github/workflows/pr-test-xeon.yml b/.github/workflows/pr-test-xeon.yml index c56a281f4..021a13085 100644 --- a/.github/workflows/pr-test-xeon.yml +++ b/.github/workflows/pr-test-xeon.yml @@ -57,7 +57,6 @@ jobs: main_package: - "python/sglang/!(multimodal_gen)/**" - "python/pyproject_cpu.toml" - - "scripts/ci/**" - "test/**" - "sgl-kernel/**" - ".github/workflows/pr-test-xeon.yml" diff --git a/.github/workflows/pr-test-xpu.yml b/.github/workflows/pr-test-xpu.yml index 5785eb2ef..38b89762a 100644 --- a/.github/workflows/pr-test-xpu.yml +++ b/.github/workflows/pr-test-xpu.yml @@ -56,7 +56,6 @@ jobs: main_package: - "python/sglang/!(multimodal_gen)/**" - "python/pyproject_xpu.toml" - - "scripts/ci/**" - "test/**" - "sgl-kernel/**" - ".github/workflows/pr-test-xpu.yml" diff --git a/.github/workflows/pr-test.yml b/.github/workflows/pr-test.yml index 820357dde..8e54154a2 100644 --- a/.github/workflows/pr-test.yml +++ b/.github/workflows/pr-test.yml @@ -108,7 +108,8 @@ jobs: main_package: - "python/sglang/!(multimodal_gen)/**" - "python/pyproject.toml" - - "scripts/ci/**" + - "scripts/ci/cuda/*" + - "scripts/ci/utils/*" - "test/**" - ".github/workflows/pr-test.yml" sgl_kernel: @@ -502,7 +503,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh diffusion + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Run test timeout-minutes: 30 @@ -542,7 +543,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -583,7 +584,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run benchmark tests timeout-minutes: 45 @@ -635,7 +636,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh diffusion + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Run sgl-kernel unit tests on B200 timeout-minutes: 30 @@ -666,7 +667,7 @@ jobs: # - name: Install dependencies # run: | - # CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + # CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh # - name: Run kernel unit tests # timeout-minutes: 30 @@ -696,7 +697,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -739,7 +740,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 10 @@ -839,7 +840,7 @@ jobs: timeout-minutes: 10 run: | source /etc/profile.d/sglang-ci.sh - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -891,7 +892,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -940,7 +941,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -987,7 +988,7 @@ jobs: timeout-minutes: 10 run: | source /etc/profile.d/sglang-ci.sh - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -1037,7 +1038,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 40 @@ -1082,7 +1083,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -1129,7 +1130,7 @@ jobs: timeout-minutes: 10 run: | source /etc/profile.d/sglang-ci.sh - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh git clone https://github.com/merrymercy/human-eval.git cd human-eval pip install -e . @@ -1178,7 +1179,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh git clone https://github.com/merrymercy/human-eval.git cd human-eval pip install -e . @@ -1229,7 +1230,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -1279,7 +1280,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -1324,7 +1325,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -1367,7 +1368,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh diffusion + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Run diffusion server tests timeout-minutes: 240 run: | @@ -1418,7 +1419,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh diffusion + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh diffusion - name: Run diffusion server tests timeout-minutes: 240 @@ -1471,7 +1472,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 20 @@ -1524,7 +1525,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh # - name: Warmup Weights and JIT Compilation # timeout-minutes: 20 @@ -1584,7 +1585,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_deepep.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_deepep.sh - name: Run test timeout-minutes: 20 @@ -1633,7 +1634,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_deepep.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_deepep.sh - name: Run test timeout-minutes: 20 @@ -1682,7 +1683,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/ci_install_deepep.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_deepep.sh - name: Run test timeout-minutes: 45 @@ -1736,7 +1737,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/ci_install_dependency.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 bash scripts/ci/cuda/ci_install_dependency.sh - name: Run test timeout-minutes: 30 @@ -1787,7 +1788,7 @@ jobs: - name: Install dependencies timeout-minutes: 10 run: | - CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 GRACE_BLACKWELL=1 bash scripts/ci/ci_install_deepep.sh + CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} IS_BLACKWELL=1 GRACE_BLACKWELL=1 bash scripts/ci/cuda/ci_install_deepep.sh - name: Run test timeout-minutes: 45 diff --git a/.github/workflows/release-docs.yml b/.github/workflows/release-docs.yml index 78fafc60b..07e6871a2 100644 --- a/.github/workflows/release-docs.yml +++ b/.github/workflows/release-docs.yml @@ -24,7 +24,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh pip install -r docs/requirements.txt apt-get update && apt-get install -y pandoc parallel retry ln -sf "$(which python3)" /usr/bin/python diff --git a/.github/workflows/runner-utilization.yml b/.github/workflows/runner-utilization.yml index b56cd1fe5..7c37e41de 100644 --- a/.github/workflows/runner-utilization.yml +++ b/.github/workflows/runner-utilization.yml @@ -6,7 +6,7 @@ on: pull_request: paths: - '.github/workflows/runner-utilization.yml' - - 'scripts/ci/runner_utilization_report.py' + - 'scripts/ci/utils/runner_utilization_report.py' workflow_dispatch: inputs: hours: @@ -37,7 +37,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - python scripts/ci/runner_utilization_report.py \ + python scripts/ci/utils/runner_utilization_report.py \ --repo ${{ github.repository }} \ --hours ${{ inputs.hours || '24' }} \ ${{ inputs.filter && format('--filter {0}', inputs.filter) || '' }} diff --git a/.github/workflows/slash-command-handler.yml b/.github/workflows/slash-command-handler.yml index 1293dc845..012208f9f 100644 --- a/.github/workflows/slash-command-handler.yml +++ b/.github/workflows/slash-command-handler.yml @@ -75,4 +75,4 @@ jobs: COMMENT_BODY: ${{ github.event.comment.body }} USER_LOGIN: ${{ github.event.comment.user.login }} run: | - python scripts/ci/slash_command_handler.py + python scripts/ci/utils/slash_command_handler.py diff --git a/.github/workflows/stress-test.yml b/.github/workflows/stress-test.yml index 4e6bc741d..241c097e8 100644 --- a/.github/workflows/stress-test.yml +++ b/.github/workflows/stress-test.yml @@ -24,7 +24,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run stress tests timeout-minutes: 210 diff --git a/.github/workflows/weekly-test-nvidia.yml b/.github/workflows/weekly-test-nvidia.yml index 0a05cdbc3..01769cf02 100644 --- a/.github/workflows/weekly-test-nvidia.yml +++ b/.github/workflows/weekly-test-nvidia.yml @@ -37,7 +37,7 @@ jobs: - name: Install dependencies run: | - bash scripts/ci/ci_install_dependency.sh + bash scripts/ci/cuda/ci_install_dependency.sh - name: Run weekly 8-GPU H200 tests timeout-minutes: 120 diff --git a/scripts/ci/amd_ci_exec.sh b/scripts/ci/amd/amd_ci_exec.sh similarity index 100% rename from scripts/ci/amd_ci_exec.sh rename to scripts/ci/amd/amd_ci_exec.sh diff --git a/scripts/ci/amd_ci_install_dependency.sh b/scripts/ci/amd/amd_ci_install_dependency.sh similarity index 98% rename from scripts/ci/amd_ci_install_dependency.sh rename to scripts/ci/amd/amd_ci_install_dependency.sh index ac0303881..271adfaa7 100755 --- a/scripts/ci/amd_ci_install_dependency.sh +++ b/scripts/ci/amd/amd_ci_install_dependency.sh @@ -252,4 +252,4 @@ docker exec ci_sglang ls -la /sgl-workspace/aiter/aiter/jit/ 2>/dev/null || echo # Pre-build AITER kernels to avoid timeout during tests echo "Warming up AITER JIT kernels..." -docker exec -e SGLANG_USE_AITER=1 ci_sglang python3 /sglang-checkout/scripts/ci/amd_ci_warmup_aiter.py || echo "AITER warmup completed (some kernels may not be available)" +docker exec -e SGLANG_USE_AITER=1 ci_sglang python3 /sglang-checkout/scripts/ci/amd/amd_ci_warmup_aiter.py || echo "AITER warmup completed (some kernels may not be available)" diff --git a/scripts/ci/amd_ci_start_container.sh b/scripts/ci/amd/amd_ci_start_container.sh similarity index 100% rename from scripts/ci/amd_ci_start_container.sh rename to scripts/ci/amd/amd_ci_start_container.sh diff --git a/scripts/ci/amd_ci_warmup_aiter.py b/scripts/ci/amd/amd_ci_warmup_aiter.py similarity index 100% rename from scripts/ci/amd_ci_warmup_aiter.py rename to scripts/ci/amd/amd_ci_warmup_aiter.py diff --git a/scripts/ci/test_rccl_multi_gpu.py b/scripts/ci/amd/test_rccl_multi_gpu.py similarity index 100% rename from scripts/ci/test_rccl_multi_gpu.py rename to scripts/ci/amd/test_rccl_multi_gpu.py diff --git a/scripts/ci/ci_install_deepep.sh b/scripts/ci/cuda/ci_install_deepep.sh similarity index 98% rename from scripts/ci/ci_install_deepep.sh rename to scripts/ci/cuda/ci_install_deepep.sh index 92258c19f..9e54df24c 100755 --- a/scripts/ci/ci_install_deepep.sh +++ b/scripts/ci/cuda/ci_install_deepep.sh @@ -2,7 +2,7 @@ # Install the dependency in CI. set -euxo pipefail -bash scripts/ci/ci_install_dependency.sh +bash scripts/ci/cuda/ci_install_dependency.sh export GDRCOPY_HOME=/usr/src/gdrdrv-2.5.1/ export CUDA_HOME=/usr/local/cuda diff --git a/scripts/ci/ci_install_dependency.sh b/scripts/ci/cuda/ci_install_dependency.sh similarity index 99% rename from scripts/ci/ci_install_dependency.sh rename to scripts/ci/cuda/ci_install_dependency.sh index f9ef787c9..f88ec7f89 100755 --- a/scripts/ci/ci_install_dependency.sh +++ b/scripts/ci/cuda/ci_install_dependency.sh @@ -20,7 +20,7 @@ fi # Kill existing processes SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -bash "${SCRIPT_DIR}/../killall_sglang.sh" +bash "${SCRIPT_DIR}/../../killall_sglang.sh" echo "CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES:-}" # Clear torch compilation cache diff --git a/scripts/ci/ci_install_gateway_dependencies.sh b/scripts/ci/cuda/ci_install_gateway_dependencies.sh similarity index 100% rename from scripts/ci/ci_install_gateway_dependencies.sh rename to scripts/ci/cuda/ci_install_gateway_dependencies.sh diff --git a/scripts/ci/ci_start_disaggregation_servers.sh b/scripts/ci/cuda/ci_start_disaggregation_servers.sh similarity index 100% rename from scripts/ci/ci_start_disaggregation_servers.sh rename to scripts/ci/cuda/ci_start_disaggregation_servers.sh diff --git a/scripts/ci/prepare_runner.sh b/scripts/ci/cuda/prepare_runner.sh similarity index 81% rename from scripts/ci/prepare_runner.sh rename to scripts/ci/cuda/prepare_runner.sh index 3a6701bf2..2ef84cbda 100755 --- a/scripts/ci/prepare_runner.sh +++ b/scripts/ci/cuda/prepare_runner.sh @@ -8,12 +8,12 @@ echo "Preparing CI runner..." echo "" # Clean up stale HuggingFace cache artifacts from previous failed downloads -python3 "${SCRIPT_DIR}/cleanup_hf_cache.py" +python3 "${SCRIPT_DIR}/../utils/cleanup_hf_cache.py" echo "" # Pre-validate cached models and write markers for offline mode # This allows tests to run with HF_HUB_OFFLINE=1 for models that are fully cached -python3 "${SCRIPT_DIR}/prevalidate_cached_models.py" +python3 "${SCRIPT_DIR}/../utils/prevalidate_cached_models.py" echo "" echo "CI runner preparation complete!" diff --git a/scripts/ci/npu_ci_install_dependency.sh b/scripts/ci/npu/npu_ci_install_dependency.sh similarity index 100% rename from scripts/ci/npu_ci_install_dependency.sh rename to scripts/ci/npu/npu_ci_install_dependency.sh diff --git a/scripts/ci/npu_log_print.sh b/scripts/ci/npu/npu_log_print.sh similarity index 96% rename from scripts/ci/npu_log_print.sh rename to scripts/ci/npu/npu_log_print.sh index ad59bc594..92ba4fe3e 100755 --- a/scripts/ci/npu_log_print.sh +++ b/scripts/ci/npu/npu_log_print.sh @@ -23,4 +23,4 @@ get_sha() { } get_sha "sglang" "$SGLANG_URL" "$SGLANG_BRANCH" get_sha "sgl-kernel" "$SGL_KERNEL_URL" "$SGL_KERNEL_BRANCH" -chmod +x scripts/ci/npu_log_print.sh +chmod +x scripts/ci/npu/npu_log_print.sh diff --git a/scripts/ci/ci_coverage_report.py b/scripts/ci/utils/ci_coverage_report.py similarity index 98% rename from scripts/ci/ci_coverage_report.py rename to scripts/ci/utils/ci_coverage_report.py index 2ba07d560..1dc6708d6 100755 --- a/scripts/ci/ci_coverage_report.py +++ b/scripts/ci/utils/ci_coverage_report.py @@ -6,7 +6,7 @@ Collects all CI test registrations from test/registered/ and generates a coverage report organized by folder, backend, and suite. Usage: - python scripts/ci/ci_coverage_report.py [--output-format markdown|json] + python scripts/ci/utils/ci_coverage_report.py [--output-format markdown|json] """ import argparse @@ -19,7 +19,10 @@ from pathlib import Path # Add the ci_register module path directly to avoid heavy sglang imports sys.path.insert( - 0, str(Path(__file__).parent.parent.parent / "python" / "sglang" / "test" / "ci") + 0, + str( + Path(__file__).parent.parent.parent.parent / "python" / "sglang" / "test" / "ci" + ), ) from ci_register import CIRegistry, HWBackend, ut_parse_one_file @@ -450,7 +453,7 @@ def main(): args = parser.parse_args() # Change to repo root if needed - script_dir = Path(__file__).parent + script_dir = Path(__file__).parent.parent repo_root = script_dir.parent.parent os.chdir(repo_root) diff --git a/scripts/ci/cleanup_hf_cache.py b/scripts/ci/utils/cleanup_hf_cache.py similarity index 100% rename from scripts/ci/cleanup_hf_cache.py rename to scripts/ci/utils/cleanup_hf_cache.py diff --git a/scripts/ci/prevalidate_cached_models.py b/scripts/ci/utils/prevalidate_cached_models.py similarity index 99% rename from scripts/ci/prevalidate_cached_models.py rename to scripts/ci/utils/prevalidate_cached_models.py index 9d08f987b..9227eb109 100755 --- a/scripts/ci/prevalidate_cached_models.py +++ b/scripts/ci/utils/prevalidate_cached_models.py @@ -20,7 +20,7 @@ import time from pathlib import Path # Add python directory to path to import sglang modules -REPO_ROOT = Path(__file__).parent.parent.parent +REPO_ROOT = Path(__file__).parent.parent.parent.parent sys.path.insert(0, str(REPO_ROOT / "python")) from sglang.srt.model_loader.ci_weight_validation import ( # noqa: E402 diff --git a/scripts/ci/publish_traces.py b/scripts/ci/utils/publish_traces.py similarity index 100% rename from scripts/ci/publish_traces.py rename to scripts/ci/utils/publish_traces.py diff --git a/scripts/ci/runner_utilization_report.py b/scripts/ci/utils/runner_utilization_report.py similarity index 100% rename from scripts/ci/runner_utilization_report.py rename to scripts/ci/utils/runner_utilization_report.py diff --git a/scripts/ci/slash_command_handler.py b/scripts/ci/utils/slash_command_handler.py similarity index 100% rename from scripts/ci/slash_command_handler.py rename to scripts/ci/utils/slash_command_handler.py diff --git a/scripts/release/utils.py b/scripts/release/utils.py index da212734b..62817a70c 100644 --- a/scripts/release/utils.py +++ b/scripts/release/utils.py @@ -80,7 +80,7 @@ def compare_versions(v1: str, v2: str) -> int: def get_repo_root() -> Path: - return Path(__file__).parent.parent.parent + return Path(__file__).parent.parent.parent.parent def read_current_version(version_file: Path) -> str: