Add AMD stage support to /rerun-stage command and fix related bugs (#14463)

This commit is contained in:
Alison Shao
2025-12-04 21:13:52 -08:00
committed by GitHub
parent 41429a8c10
commit 4c5074eb78
3 changed files with 282 additions and 112 deletions
+106 -19
View File
@@ -20,6 +20,12 @@ on:
- "sgl-kernel/**"
- ".github/workflows/pr-test-amd.yml"
workflow_dispatch:
inputs:
target_stage:
description: "Specific stage to run (optional, for quick testing)"
required: false
type: string
default: ""
concurrency:
group: pr-test-amd-${{ github.ref }}
@@ -54,7 +60,15 @@ jobs:
# =============================================== sgl-kernel ====================================================
sgl-kernel-unit-test-amd:
needs: [check-changes]
if: needs.check-changes.outputs.sgl_kernel == 'true'
if: |
always() &&
(
(inputs.target_stage == 'sgl-kernel-unit-test-amd') ||
(
!inputs.target_stage &&
needs.check-changes.outputs.sgl_kernel == 'true'
)
)
strategy:
fail-fast: false
matrix:
@@ -90,8 +104,16 @@ jobs:
stage-a-test-1-amd:
needs: [check-changes]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'stage-a-test-1-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -120,8 +142,16 @@ jobs:
unit-test-backend-1-gpu-amd:
needs: [check-changes, stage-a-test-1-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'unit-test-backend-1-gpu-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -150,8 +180,16 @@ jobs:
unit-test-backend-2-gpu-amd:
needs: [check-changes, stage-a-test-1-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'unit-test-backend-2-gpu-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -181,8 +219,17 @@ jobs:
unit-test-backend-8-gpu-amd:
needs: [check-changes, unit-test-backend-2-gpu-amd]
# Temporarily disabled - uncomment when ready to re-enable
if: false && always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'unit-test-backend-8-gpu-amd') ||
(
false &&
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
env:
RUNNER_LABELS: linux-mi300-gpu-8
strategy:
@@ -219,8 +266,16 @@ jobs:
performance-test-1-gpu-part-1-amd:
needs: [check-changes, stage-a-test-1-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'performance-test-1-gpu-part-1-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -264,8 +319,16 @@ jobs:
performance-test-1-gpu-part-2-amd:
needs: [check-changes, stage-a-test-1-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'performance-test-1-gpu-part-2-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -303,8 +366,16 @@ jobs:
performance-test-2-gpu-amd:
needs: [check-changes, unit-test-backend-2-gpu-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'performance-test-2-gpu-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -352,8 +423,16 @@ jobs:
accuracy-test-1-gpu-amd:
needs: [check-changes, stage-a-test-1-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'accuracy-test-1-gpu-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix:
@@ -383,8 +462,16 @@ jobs:
accuracy-test-2-gpu-amd:
needs: [check-changes, accuracy-test-1-gpu-amd]
if: always() && !failure() && !cancelled() &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
if: |
always() &&
(
(inputs.target_stage == 'accuracy-test-2-gpu-amd') ||
(
!inputs.target_stage &&
(!failure() && !cancelled()) &&
((needs.check-changes.outputs.main_package == 'true') || (needs.check-changes.outputs.sgl_kernel == 'true'))
)
)
strategy:
fail-fast: false
matrix: