ci: run jit-kernel tests on scheduled full runs (#30306)
This commit is contained in:
@@ -39,9 +39,9 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
jit-kernel-unit-test:
|
jit-kernel-unit-test:
|
||||||
if: |
|
# Runs whenever call-jit-kernel-tests dispatches this workflow. That caller is the
|
||||||
github.event_name != 'schedule' &&
|
# single gate (PR jit_kernel changes, or scheduled/parallel-dispatch full runs), so
|
||||||
inputs.test_parallel_dispatch != 'true'
|
# the sub-jobs no longer re-exclude schedule/parallel-dispatch here.
|
||||||
runs-on: 1-gpu-h100
|
runs-on: 1-gpu-h100
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
steps:
|
steps:
|
||||||
@@ -79,9 +79,9 @@ jobs:
|
|||||||
python3 run_suite.py --hw cuda --suite base-b-kernel-unit-test-1-gpu-large
|
python3 run_suite.py --hw cuda --suite base-b-kernel-unit-test-1-gpu-large
|
||||||
|
|
||||||
jit-kernel-multigpu-unit-test:
|
jit-kernel-multigpu-unit-test:
|
||||||
if: |
|
# Runs whenever call-jit-kernel-tests dispatches this workflow. That caller is the
|
||||||
github.event_name != 'schedule' &&
|
# single gate (PR jit_kernel changes, or scheduled/parallel-dispatch full runs), so
|
||||||
inputs.test_parallel_dispatch != 'true'
|
# the sub-jobs no longer re-exclude schedule/parallel-dispatch here.
|
||||||
runs-on: 8-gpu-h200
|
runs-on: 8-gpu-h200
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
steps:
|
steps:
|
||||||
@@ -117,9 +117,9 @@ jobs:
|
|||||||
python3 run_suite.py --hw cuda --suite base-b-kernel-unit-test-8-gpu-h200
|
python3 run_suite.py --hw cuda --suite base-b-kernel-unit-test-8-gpu-h200
|
||||||
|
|
||||||
jit-kernel-benchmark-test:
|
jit-kernel-benchmark-test:
|
||||||
if: |
|
# Runs whenever call-jit-kernel-tests dispatches this workflow. That caller is the
|
||||||
github.event_name != 'schedule' &&
|
# single gate (PR jit_kernel changes, or scheduled/parallel-dispatch full runs), so
|
||||||
inputs.test_parallel_dispatch != 'true'
|
# the sub-jobs no longer re-exclude schedule/parallel-dispatch here.
|
||||||
runs-on: 1-gpu-h100
|
runs-on: 1-gpu-h100
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
steps:
|
steps:
|
||||||
@@ -157,9 +157,9 @@ jobs:
|
|||||||
python3 run_suite.py --hw cuda --suite base-b-kernel-benchmark-test-1-gpu-large
|
python3 run_suite.py --hw cuda --suite base-b-kernel-benchmark-test-1-gpu-large
|
||||||
|
|
||||||
jit-kernel-b200-test:
|
jit-kernel-b200-test:
|
||||||
if: |
|
# Runs whenever call-jit-kernel-tests dispatches this workflow. That caller is the
|
||||||
github.event_name != 'schedule' &&
|
# single gate (PR jit_kernel changes, or scheduled/parallel-dispatch full runs), so
|
||||||
inputs.test_parallel_dispatch != 'true'
|
# the sub-jobs no longer re-exclude schedule/parallel-dispatch here.
|
||||||
runs-on: ${{ fromJson(inputs.runs_on_map)[inputs.runner_config] }}
|
runs-on: ${{ fromJson(inputs.runs_on_map)[inputs.runner_config] }}
|
||||||
timeout-minutes: 240
|
timeout-minutes: 240
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -225,18 +225,22 @@ jobs:
|
|||||||
|
|
||||||
call-jit-kernel-tests:
|
call-jit-kernel-tests:
|
||||||
needs: [check-changes, call-gate, sgl-kernel-build-wheels]
|
needs: [check-changes, call-gate, sgl-kernel-build-wheels]
|
||||||
|
# Run on scheduled/parallel-dispatch runs (same pattern as the base-* stages) so the
|
||||||
|
# jit_kernel suite is exercised on main 3x daily, not only on PRs that touch jit_kernel/**.
|
||||||
|
# check-changes already forces jit_kernel='true' on scheduled runs (run_all_tests).
|
||||||
if: |
|
if: |
|
||||||
always() &&
|
always() &&
|
||||||
!failure() && !cancelled() &&
|
((github.event_name == 'schedule' || inputs.test_parallel_dispatch == true) || (!failure() && !cancelled())) &&
|
||||||
github.event_name != 'schedule' &&
|
|
||||||
inputs.test_parallel_dispatch != true &&
|
|
||||||
needs.check-changes.outputs.jit_kernel == 'true'
|
needs.check-changes.outputs.jit_kernel == 'true'
|
||||||
uses: ./.github/workflows/pr-test-jit-kernel.yml
|
uses: ./.github/workflows/pr-test-jit-kernel.yml
|
||||||
with:
|
with:
|
||||||
runner_config: 4-gpu-b200
|
runner_config: 4-gpu-b200
|
||||||
runs_on_map: ${{ needs.check-changes.outputs.runs_on_map }}
|
runs_on_map: ${{ needs.check-changes.outputs.runs_on_map }}
|
||||||
jit_kernel: ${{ needs.check-changes.outputs.jit_kernel }}
|
jit_kernel: ${{ needs.check-changes.outputs.jit_kernel }}
|
||||||
sgl_kernel: ${{ needs.check-changes.outputs.sgl_kernel }}
|
# On scheduled/parallel-dispatch runs sgl-kernel-build-wheels is skipped, so the wheel
|
||||||
|
# artifact does not exist. Force sgl_kernel='false' there so the jit-kernel jobs skip the
|
||||||
|
# wheel download and run against the released/pinned sgl-kernel instead of a fresh build.
|
||||||
|
sgl_kernel: ${{ (github.event_name == 'schedule' || inputs.test_parallel_dispatch == true) && 'false' || needs.check-changes.outputs.sgl_kernel }}
|
||||||
git_ref: ${{ inputs.git_ref || '' }}
|
git_ref: ${{ inputs.git_ref || '' }}
|
||||||
test_parallel_dispatch: ${{ inputs.test_parallel_dispatch == true && 'true' || 'false' }}
|
test_parallel_dispatch: ${{ inputs.test_parallel_dispatch == true && 'true' || 'false' }}
|
||||||
skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }}
|
skip_pr_test_health_check: ${{ inputs.skip_pr_test_health_check == true }}
|
||||||
|
|||||||
Reference in New Issue
Block a user