Skip to content

[don't merge] [debug-tools] Enable multi-arch CI#5977

Draft
lumachad wants to merge 5 commits into
mainfrom
users/lumachad/rocgdb/multi-arch-ci
Draft

[don't merge] [debug-tools] Enable multi-arch CI#5977
lumachad wants to merge 5 commits into
mainfrom
users/lumachad/rocgdb/multi-arch-ci

Conversation

@lumachad

Copy link
Copy Markdown
Contributor

Enable ROCgdb multi-arch CI cross-triggers. Fix bugs and add unit tests.

@lumachad lumachad added the ci:skip Skip all CI builds/tests for this PR label Jun 19, 2026
@lumachad

Copy link
Copy Markdown
Contributor Author

ci:skip as this is still under validation against a ROCgdb counterpart: ROCm/ROCgdb#179

@lumachad lumachad force-pushed the users/lumachad/rocgdb/multi-arch-ci branch 4 times, most recently from fe1dcd4 to b7e90da Compare June 22, 2026 07:58
@lumachad lumachad changed the title [debug-tools] Enable multi-arch CI [don't merge] [debug-tools] Enable multi-arch CI Jun 22, 2026
@lumachad lumachad force-pushed the users/lumachad/rocgdb/multi-arch-ci branch from b7e90da to 5619c54 Compare June 23, 2026 17:29
@therock-pr-bot

therock-pr-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown

❌ PR Check — Action Required

Check Status Details
🌿 Branch Name ✅ Pass
📝 PR Title/Description ❌ Fail Error: Title does not follow Conventional Commits style.
Expected: start with a valid type (feat, fix, docs, …).
Desired format: type(optional-scope): short description
───
Error: PR description must reference a JIRA ID, ISSUE ID, or a GitHub closing keyword.
Expected: include a JIRA ID / ISSUE ID line (separator : or -, or omitted; value may be a JIRA key, a number with/without #, or a link), OR a closing keyword + issue reference. Accepted examples:
JIRA ID : TESTAUTO-6039
JIRA ID - #330
JIRA ID #330
ISSUE ID : TESTUTO-3334
ISSUE ID #3334
ISSUE ID - TESTAUTO-3433
ISSUE ID : https://github.com/<org_name>/<repo_name>/issues/1234
Closes #10
Fixes octo-org/octo-repo#100
Resolves: #123
#123
https://github.com/<org_name>/<repo_name>/issues/123
Current: no valid JIRA/ISSUE/closing-keyword reference found
Forbidden Files ✅ Pass
🧪 Unit Test ✅ Pass
🔎 pre-commit ✅ Pass
🚫 Draft PR 🔜 To Be Enabled
🚩 Feature Flag 🔜 To Be Enabled
📊 Code Coverage 🔜 To Be Enabled

⚠️ 1 policy check(s) failed. Please address the issues above before this PR can be Reviewed.

🚫 Please fix the failed policies

  • ❌ PR Title/Description

The Not ready to Review label was added to this PR. Once all policies pass, the label is removed automatically.

📖 Need help? See the Policy FAQ for details on every check and how to fix failures.

@therock-pr-bot therock-pr-bot Bot added the Not ready to Review PR has unresolved policy failures — reviews blocked label Jun 23, 2026
@therock-pr-bot

therock-pr-bot Bot commented Jun 23, 2026

Copy link
Copy Markdown

🚫 Please fix the failed policies before requesting reviews.

The following policy checks failed:

  • ❌ PR Title/Description

The Not ready to Review label has been added to this PR.
Once all policies pass, the label will be removed automatically.

@lumachad lumachad force-pushed the users/lumachad/rocgdb/multi-arch-ci branch from 5619c54 to 8448898 Compare June 23, 2026 17:57
@lumachad lumachad force-pushed the users/lumachad/rocgdb/multi-arch-ci branch 2 times, most recently from 065cd92 to a44a8ca Compare July 10, 2026 11:24
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).
@lumachad lumachad force-pushed the users/lumachad/rocgdb/multi-arch-ci branch 3 times, most recently from bccdb64 to e522c2f Compare July 10, 2026 12:12
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).
geomin12 and others added 5 commits July 10, 2026 10:26
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]>
@lumachad lumachad force-pushed the users/lumachad/rocgdb/multi-arch-ci branch from e522c2f to d3082fa Compare July 10, 2026 15:28
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:skip Skip all CI builds/tests for this PR Not ready to Review PR has unresolved policy failures — reviews blocked

Projects

Status: TODO

Development

Successfully merging this pull request may close these issues.

2 participants