[don't merge] [debug-tools] Enable multi-arch CI#5977
Draft
lumachad wants to merge 5 commits into
Draft
Conversation
Contributor
Author
|
ci:skip as this is still under validation against a ROCgdb counterpart: ROCm/ROCgdb#179 |
fe1dcd4 to
b7e90da
Compare
b7e90da to
5619c54
Compare
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
5619c54 to
8448898
Compare
065cd92 to
a44a8ca
Compare
lumachad
added a commit
to ROCm/ROCgdb
that referenced
this pull request
Jul 10, 2026
Pin all multi-arch CI workflows to the head commit of ROCm/TheRock#5977 (users/lumachad/rocgdb/multi-arch-ci).
bccdb64 to
e522c2f
Compare
lumachad
added a commit
to ROCm/ROCgdb
that referenced
this pull request
Jul 10, 2026
Pin all multi-arch CI workflows to the head commit of ROCm/TheRock#5977 (users/lumachad/rocgdb/multi-arch-ci).
Add the ability to build specific projects without needing to build an entire stage. This enables external repositories (like rocm-systems) to trigger builds that only compile the components they changed. Key changes: - Add `--projects` flag to configure_stage.py for enabling specific projects (e.g., `--projects rocblas miopen hip`) - Add `--list-projects` flag to show available projects and their artifact mappings - Add `--skip-stages` flag to compute which stages can be skipped based on the projects being built - Add `--build-dir` flag for using CMake-generated manifest - Support rocm-systems project paths like "projects/hip" via normalize_project_name() and rocm_systems_projects.json mapping The artifact_subprojects.json manifest is auto-generated by CMake during configure and maps artifact names to their subproject names, enabling dynamic project resolution without hardcoding in TOML. Additional changes: - Move hipsparselt from blas to sparse split_databases (fixes #5449) - Add test_artifacts to core-runtime and core-hip for proper test artifact inclusion when building these projects - Fast-fail on unknown project names Co-Authored-By: Claude Opus 4.6 <[email protected]>
Call StageImpactAnalyzer.required_stages_for_component() from detect_external_repo_config.py to compute which build stages are required for each skipped submodule, and embed the result as build_stages in the external_repo_config JSON. The build_stages list is used by: - multi_arch_build_portable_linux.yml: to skip irrelevant stage jobs - artifact workflows: to scope extra_cmake_options to relevant stages only An empty build_stages means no restriction — all stages run as normal. Co-Authored-By: Claude <[email protected]>
Consume the build_stages and skip_packaging fields produced by detect_external_repo_config.py to restrict what runs in the CI pipeline when an external repo is being built. Stage gating (multi_arch_build_portable_linux.yml): each downstream job (runtime-tests, math-libs, comm-libs, etc.) now checks build_stages in addition to prebuilt_stages. A job is skipped if build_stages is non-empty and does not include that job's stage name, avoiding unnecessary work for components that only need a subset of stages. extra_cmake_options scoping (*_artifacts.yml): the flags injected at configure time are only applied to stages listed in build_stages, preventing unrelated stages from receiving component-specific CMake variables. Packaging suppression (configure_multi_arch_ci.py, multi_arch_ci_linux/windows.yml): add a build_python_packages field to BuildConfig. When skip_packaging is true, build_native_linux, build_python_packages, and build_pytorch are all set to false. The python package build and test jobs are gated on build_python_packages rather than the previous condition. Co-Authored-By: Claude <[email protected]>
Document how external component repos (rocgdb, rocm-libraries, etc.) invoke TheRock's multi-arch CI via setup_multi_arch.yml, covering the external_repo JSON fields, automatic stage scoping, packaging suppression, and how to register a new repo. Co-Authored-By: Claude <[email protected]>
Add a baseline_github_repo workflow input to setup_multi_arch.yml so callers can specify that the baseline run being referenced belongs to a different GitHub repository (e.g. a component repo pulling prebuilt artifacts from a TheRock run). Wire the value through configure_multi_arch_ci.py (CIInputs, BuildRocmDecision, BuildConfig) so it is serialised into build_config JSON and forwarded as --run-github-repo to artifact_manager.py copy in both the Linux and Windows CI workflows. artifact_manager.py already accepts github_repository in _create_source_backend / WorkflowOutputRoot.from_workflow_run; this change threads the new CLI flag through to that call site. Co-Authored-By: Claude <[email protected]>
e522c2f to
d3082fa
Compare
lumachad
added a commit
to ROCm/ROCgdb
that referenced
this pull request
Jul 10, 2026
Pin all multi-arch CI workflows to the head commit of ROCm/TheRock#5977 (users/lumachad/rocgdb/multi-arch-ci).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enable ROCgdb multi-arch CI cross-triggers. Fix bugs and add unit tests.