From c5af7cccbb8d769d8a8fc9145aee5e3fd11e5bbe Mon Sep 17 00:00:00 2001 From: geomin12 Date: Tue, 27 Oct 2026 14:13:41 -0700 Subject: [PATCH] fix(ci): pull rocm-libraries DVC data on external rocm-systems builds --dvc-projects replaces fetch_sources.py's default project list rather than extending it, so the rocm-systems entry listing only "external-rocm-systems" dropped rocm-libraries entirely. pull_large_files() never visited /rocm-libraries, leaving the 24 DVC-tracked rocSPARSE SuiteSparse test matrices unmaterialized and failing the math-libs stage at ClientMatrices.cmake with a configure FATAL_ERROR. hipSPARSE breaks via the same path and is covered by the same fix. This mirrors the bug #8204 fixed in the other direction, so the comment explaining the replace-not-extend semantics is repeated here. Fixes #9537 Co-Authored-By: Claude Opus 4.6 --- build_tools/github_actions/detect_external_repo_config.py | 5 ++++- .../github_actions/tests/dvc_external_repo_test.py | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/build_tools/github_actions/detect_external_repo_config.py b/build_tools/github_actions/detect_external_repo_config.py index aac598a8cd8..74ed08edfe3 100644 --- a/build_tools/github_actions/detect_external_repo_config.py +++ b/build_tools/github_actions/detect_external_repo_config.py @@ -56,7 +56,10 @@ "cmake_source_var": "THEROCK_ROCM_SYSTEMS_SOURCE_DIR", "submodule_path": "rocm-systems", "skip_submodules": ["rocm-systems"], - "dvc_projects": ["external-rocm-systems"], + # --dvc-projects replaces fetch_sources.py's default project list rather + # than extending it, so "rocm-libraries" is listed explicitly to pull the + # rocSPARSE/hipSPARSE test matrices ClientMatrices.cmake needs. + "dvc_projects": ["external-rocm-systems", "rocm-libraries"], }, "rocgdb": { "cmake_source_var": "THEROCK_ROCGDB_SOURCE_DIR", diff --git a/build_tools/github_actions/tests/dvc_external_repo_test.py b/build_tools/github_actions/tests/dvc_external_repo_test.py index 9a9f3ae8d6e..3373d24a49f 100644 --- a/build_tools/github_actions/tests/dvc_external_repo_test.py +++ b/build_tools/github_actions/tests/dvc_external_repo_test.py @@ -36,11 +36,13 @@ def test_rocm_systems_has_dvc_projects(self): "rocm-systems config must have dvc_projects for wsl-rocdxg builds", ) - # Verify it contains external-rocm-systems + # "rocm-libraries" is required for the rocSPARSE/hipSPARSE test matrices: + # --dvc-projects replaces fetch_sources.py's default list rather than + # extending it, so dropping it breaks the math-libs stage. self.assertEqual( config["dvc_projects"], - ["external-rocm-systems"], - "dvc_projects should contain external-rocm-systems path", + ["external-rocm-systems", "rocm-libraries"], + "dvc_projects should contain external-rocm-systems and rocm-libraries", ) def test_rocm_systems_has_all_required_keys(self):