[AMD][CI] Consolidate AMD workflows and retire ROCm 7.0 CI (#38632)

This commit is contained in:
Bingxu Chen
2026-09-15 23:45:22 +08:00
committed by GitHub
parent 47a157f257
commit 03ea13a545
17 changed files with 1190 additions and 4932 deletions
+21 -9
View File
@@ -30,12 +30,18 @@ import requests
def _filter_legacy_amd_job_rows(job_data: Dict[str, Dict]) -> Dict[str, Dict]:
"""Drop pre-cutover AMD names without changing the shared analyzer."""
legacy_callers = {
"call-nightly-amd-rocm720",
"call-pr-test-amd-extra-rocm720",
"call-pr-test-amd-rocm720",
}
filtered = {}
for full_name, data in job_data.items():
# This caller was renamed by the AMD job-name cutover. Other outer
# callers, including AITER's *-rocm720 callers, are still current.
# These callers were renamed by the AMD workflow canonicalization. Keep
# recognizing their historical spellings so old rows do not merge into
# current streaks.
name_parts = full_name.split(" / ")
if "call-pr-test-amd-extra-rocm720" in name_parts[:-1]:
if any(part in legacy_callers for part in name_parts[:-1]):
continue
leaf_name = name_parts[-1]
@@ -49,7 +55,7 @@ def _filter_legacy_amd_job_rows(job_data: Dict[str, Dict]) -> Dict[str, Dict]:
"pr-gate",
"pr-test-amd-extra-finish",
"pr-test-amd-finish",
"pr-test-amd-rocm720-finish",
"pr-test-amd-rocm720-finish", # Legacy pre-canonicalization teardown
}:
continue
@@ -67,6 +73,12 @@ def _filter_legacy_amd_job_rows(job_data: Dict[str, Dict]) -> Dict[str, Dict]:
if details.startswith("rocm") and details[4:].isdigit():
continue
# The canonical workflow paths reuse the history of the retired
# ROCm 7.0 workflows. Do not let those rows contribute to current
# multi-version streaks during the lookback window.
if details.split(",", 1)[0] == "rocm700":
continue
filtered[full_name] = data
return filtered
@@ -92,7 +104,7 @@ class SGLangFailuresAnalyzer:
"check-changes",
"pr-test-finish", # Nvidia workflow teardown
"pr-test-amd-finish", # AMD workflow teardown
"pr-test-amd-rocm720-finish", # Default AMD ROCm 7.2 teardown
"pr-test-amd-rocm720-finish", # Legacy AMD teardown
"call-gate",
"pr-gate",
"check-all-jobs",
@@ -2502,7 +2514,7 @@ def main():
# These 4 don't have scheduled events, so filter by main branch instead
pr_test_amd_scheduled_runs = analyzer.get_recent_runs(
limit=pr_test_scheduled_limit,
workflow_filter=["pr-test-amd-rocm720.yml"],
workflow_filter=["pr-test-amd.yml"],
filters={"branch": "main"},
)
pr_test_xeon_scheduled_runs = analyzer.get_recent_runs(
@@ -2529,7 +2541,7 @@ def main():
)
nightly_amd_scheduled_runs = analyzer.get_recent_runs(
limit=nightly_scheduled_limit,
workflow_filter=["nightly-test-amd-rocm720.yml"],
workflow_filter=["nightly-test-amd.yml"],
filters={"event": "schedule"},
)
nightly_intel_scheduled_runs = analyzer.get_recent_runs(
@@ -2551,7 +2563,7 @@ def main():
)
pr_test_amd_general_runs = analyzer.get_recent_runs(
limit=args.limit,
workflow_filter=["pr-test-amd-rocm720.yml"],
workflow_filter=["pr-test-amd.yml"],
)
pr_test_xeon_general_runs = analyzer.get_recent_runs(
limit=args.limit,
@@ -2573,7 +2585,7 @@ def main():
)
nightly_amd_general_runs = analyzer.get_recent_runs(
limit=args.limit,
workflow_filter=["nightly-test-amd-rocm720.yml"],
workflow_filter=["nightly-test-amd.yml"],
)
nightly_intel_general_runs = analyzer.get_recent_runs(
limit=args.limit,