[ci] split stage-c-test-4-gpu-b200 to enable a low-disk runner pool (#23417)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kangyan-Zhou
2026-04-21 18:33:33 -07:00
committed by GitHub
co-authored by Claude Opus 4.7
parent 6cf0b004ca
commit 77fd86f89e
15 changed files with 84 additions and 14 deletions
+69 -2
View File
@@ -92,6 +92,7 @@ jobs:
max_parallel_small: ${{ steps.set-parallel.outputs.max_parallel_small }}
max_parallel_2gpu: ${{ steps.set-parallel.outputs.max_parallel_2gpu }}
b200_runner: ${{ steps.set-runner.outputs.b200_runner }}
b200_low_disk_runner: ${{ steps.set-runner.outputs.b200_low_disk_runner }}
enable_retry: ${{ steps.set-retry.outputs.enable_retry }}
continue_on_error: ${{ steps.set-continue-on-error.outputs.continue_on_error }}
steps:
@@ -273,8 +274,10 @@ jobs:
target_stage="${{ inputs.target_stage }}"
if [[ "$sgl_kernel" == "true" && -z "$target_stage" ]]; then
echo "b200_runner=4-gpu-b200-kernel" >> $GITHUB_OUTPUT
echo "b200_low_disk_runner=4-gpu-b200-kernel-low-disk" >> $GITHUB_OUTPUT
else
echo "b200_runner=4-gpu-b200" >> $GITHUB_OUTPUT
echo "b200_low_disk_runner=4-gpu-b200-low-disk" >> $GITHUB_OUTPUT
fi
- name: Enable retry for CI
@@ -330,6 +333,7 @@ jobs:
echo "| detection_method | ${{ inputs.target_stage && 'GitHub API' || 'dorny/paths-filter' }} |"
echo "| max_parallel | ${{ steps.set-parallel.outputs.parallel_level }} (h100=${{ steps.set-parallel.outputs.max_parallel }}, 5090=${{ steps.set-parallel.outputs.max_parallel_small }}, 2gpu=${{ steps.set-parallel.outputs.max_parallel_2gpu }}) |"
echo "| b200_runner | ${{ steps.set-runner.outputs.b200_runner }} |"
echo "| b200_low_disk_runner | ${{ steps.set-runner.outputs.b200_low_disk_runner }} |"
echo "| enable_retry | ${{ steps.set-retry.outputs.enable_retry }} |"
echo "| continue_on_error | ${{ steps.set-continue-on-error.outputs.continue_on_error }} |"
} >> $GITHUB_STEP_SUMMARY
@@ -1293,7 +1297,7 @@ jobs:
strategy:
fail-fast: false
matrix:
part: [0, 1, 2, 3, 4, 5]
part: [0, 1, 2]
steps:
- name: Checkout code
@@ -1324,7 +1328,69 @@ jobs:
CONTINUE_ON_ERROR_FLAG: ${{ needs.check-changes.outputs.continue_on_error == 'true' && '--continue-on-error' || '' }}
run: |
cd test
python3 run_suite.py --hw cuda --suite stage-c-test-4-gpu-b200 --auto-partition-id ${{ matrix.part }} --auto-partition-size 6 --timeout-per-file 1800 $CONTINUE_ON_ERROR_FLAG
python3 run_suite.py --hw cuda --suite stage-c-test-4-gpu-b200 --auto-partition-id ${{ matrix.part }} --auto-partition-size 3 --timeout-per-file 1800 $CONTINUE_ON_ERROR_FLAG
- uses: ./.github/actions/upload-cuda-coredumps
if: failure()
with:
artifact-suffix: ${{ matrix.part }}
- name: Cleanup venv
if: always()
run: bash scripts/ci/cuda/ci_cleanup_venv.sh
stage-c-test-4-gpu-b200-small:
needs: [check-changes, call-gate, wait-for-stage-b]
if: |
always() &&
(
(inputs.target_stage == 'stage-c-test-4-gpu-b200-small') ||
(
!inputs.target_stage &&
((github.event_name == 'schedule' || inputs.test_parallel_dispatch == true) || (!failure() && !cancelled())) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
# The `*-low-disk` label (resolved by `set-runner` to `4-gpu-b200-low-disk` or
# `4-gpu-b200-kernel-low-disk`) is advertised by both the existing large-disk B200
# runners and the new low-disk runner, so this job can land on either pool.
runs-on: ${{ needs.check-changes.outputs.b200_low_disk_runner }}
timeout-minutes: 240
strategy:
fail-fast: false
matrix:
part: [0, 1, 2]
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ inputs.pr_head_sha || inputs.git_ref || github.sha }}
- uses: ./.github/actions/check-stage-health
- uses: ./.github/actions/check-maintenance
- name: Download artifacts
if: needs.check-changes.outputs.sgl_kernel == 'true'
uses: actions/download-artifact@v6
with:
path: sgl-kernel/dist/
merge-multiple: true
pattern: wheel-python3.10-cuda13.0
- name: Install dependencies
timeout-minutes: 20
run: |
CUSTOM_BUILD_SGL_KERNEL=${{needs.check-changes.outputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh
- name: Run test
timeout-minutes: 30
env:
CONTINUE_ON_ERROR_FLAG: ${{ needs.check-changes.outputs.continue_on_error == 'true' && '--continue-on-error' || '' }}
run: |
cd test
python3 run_suite.py --hw cuda --suite stage-c-test-4-gpu-b200-small --auto-partition-id ${{ matrix.part }} --auto-partition-size 3 --timeout-per-file 1800 $CONTINUE_ON_ERROR_FLAG
- uses: ./.github/actions/upload-cuda-coredumps
if: failure()
@@ -1416,6 +1482,7 @@ jobs:
stage-c-test-deepep-4-gpu-h100,
stage-c-test-deepep-8-gpu-h200,
stage-c-test-4-gpu-b200,
stage-c-test-4-gpu-b200-small,
# stage-c-test-4-gpu-gb200, # Temporarily disabled — no GB200 runner
]
if: always()