Skip to content

Multi-arch CI support#179

Draft
lumachad wants to merge 9 commits into
amd-stagingfrom
users/lumachad/amd-staging/multi-arch
Draft

Multi-arch CI support#179
lumachad wants to merge 9 commits into
amd-stagingfrom
users/lumachad/amd-staging/multi-arch

Conversation

@lumachad

Copy link
Copy Markdown
Collaborator

Enable multi-arch CI support for ROCgdb

@lumachad lumachad self-assigned this Jun 19, 2026
@lumachad lumachad added the ci:multi-arch Temporary test label label Jun 19, 2026
@lumachad lumachad added ci:skip Skip all pre-commit / CI jobs while the label is up ci:multi-arch Temporary test label and removed ci:multi-arch Temporary test label labels Jun 19, 2026
@lumachad lumachad closed this Jun 19, 2026
@lumachad lumachad reopened this Jun 19, 2026
@lumachad lumachad removed the ci:skip Skip all pre-commit / CI jobs while the label is up label Jun 19, 2026
@lumachad lumachad closed this Jun 19, 2026
@lumachad lumachad reopened this Jun 19, 2026
@lumachad lumachad added ci:multi-arch Temporary test label and removed ci:multi-arch Temporary test label labels Jun 19, 2026
@lumachad lumachad force-pushed the users/lumachad/amd-staging/multi-arch branch from 3bcb1e2 to f1144ea Compare June 19, 2026 12:22
@lumachad lumachad added ci:multi-arch Temporary test label and removed ci:multi-arch Temporary test label labels Jun 19, 2026
lumachad and others added 3 commits June 19, 2026 11:33
Add three GitHub Actions workflows mirroring the rocm-systems multi-arch
CI setup alongside the existing single-arch therock-ci.yml:

- therock-multi-arch-ci.yml: manual (workflow_dispatch) trigger for
  on-demand release builds across gfx94X and gfx950.  Uses TheRock's
  setup_multi_arch / multi_arch_ci_linux reusable workflows at @main and
  passes external_repo so TheRock pulls in the rocgdb source under test.

- therock-multi-arch-ci-nightly.yml: cron (07:00 UTC) that dispatches
  therock-multi-arch-ci.yml on amd-staging with gfx94X,gfx950.  Uses
  workflow_dispatch rather than schedule so TheRock honours the specified
  GPU family list.

- therock-multi-arch-ci-asan.yml: fires on push to amd-staging /
  amd-staging-rocgdb-* and on workflow_dispatch.  Uses build_variant
  host-asan and the same pinned TheRock commit as the single-arch
  workflows (2d417fa, 2026-06-18).

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Allow each multi-arch workflow to be triggered from a pull request by
applying the corresponding label:

  ci:multi-arch        -> therock-multi-arch-ci.yml
  ci:multi-arch-asan   -> therock-multi-arch-ci-asan.yml
  ci:multi-arch-nightly -> therock-multi-arch-ci-nightly.yml

Each workflow gains a pull_request trigger (types: [labeled]).  The
guard lives on the setup job so that downstream jobs are skipped
automatically via the needs: chain when the label is absent.

For the nightly trigger, the dispatched ref uses github.head_ref when
invoked from a PR so therock-multi-arch-ci.yml runs against the PR
branch rather than amd-staging.

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
ROCgdb requires -DTHEROCK_USE_EXTERNAL_ROCGDB=ON alongside
-DTHEROCK_ROCGDB_SOURCE_DIR to build from an external source directory.

Pass this flag via the extra_cmake_options field in the external_repo
JSON so TheRock's build workflows pick it up without needing to
hardcode ROCgdb-specific knowledge on the TheRock side.

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@lumachad lumachad force-pushed the users/lumachad/amd-staging/multi-arch branch from f1144ea to f235da4 Compare June 19, 2026 17:50
@lumachad lumachad added ci:multi-arch Temporary test label and removed ci:multi-arch Temporary test label labels Jun 19, 2026
lumachad and others added 2 commits June 19, 2026 13:05
Update the pinned TheRock user-branch ref from 9674ab5d6 to 9d0caa23a,
which adds stage-scoping support: for rocgdb builds only compiler-runtime
and debug-tools are built; math-libs, storage-libs, profiler-apps,
dctools-core, media-libs, comm-libs, runtime-tests, and wsl-rocdxg are
skipped.

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
Disable push/pull_request triggers on therock-ci.yml while testing the
multi-arch CI pipeline (therock-multi-arch-ci.yml). Keep workflow_dispatch
so it can still be triggered manually if needed.

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@lumachad lumachad removed the ci:multi-arch Temporary test label label Jun 19, 2026
@lumachad lumachad force-pushed the users/lumachad/amd-staging/multi-arch branch from f235da4 to 21c9ee7 Compare June 19, 2026 18:56
@lumachad lumachad added the ci:multi-arch Temporary test label label Jun 19, 2026
Updates pinned TheRock commit to include the mechanism for external
repos to opt out of packaging jobs (DEB/RPM packages, Python wheels,
PyTorch wheels) via "skip_packaging": true in the external_repo JSON.

ROCgdb sets this flag since it only needs build and test stages.

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@lumachad lumachad force-pushed the users/lumachad/amd-staging/multi-arch branch from 21c9ee7 to 703a4e6 Compare June 19, 2026 19:10
@lumachad lumachad removed the ci:multi-arch Temporary test label label Jun 19, 2026
@lumachad lumachad added the ci:multi-arch Temporary test label label Jun 19, 2026
Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@lumachad lumachad added ci:multi-arch Temporary test label and removed ci:multi-arch Temporary test label labels Jun 19, 2026
…yzer)

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@lumachad lumachad added ci:multi-arch Temporary test label ci:multi-arch-asan Temporary test label ci:multi-arch-nightly Temporary test label and removed ci:multi-arch Temporary test label labels Jun 19, 2026
The ASAN workflow was pinning TheRock to 2d417fa (2026-06-18), which
predates our addition of ROCgdb to the known external repositories in
detect_external_repo_config.py. This caused the detect step to fail
with "Unknown external repository: ROCgdb".

Update all three TheRock ref pins to 97f6cb5 (users/lumachad/rocgdb/multi-arch-ci),
matching the release CI workflow.

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@lumachad lumachad added ci:multi-arch Temporary test label ci:multi-arch-asan Temporary test label and removed ci:multi-arch Temporary test label ci:multi-arch-asan Temporary test label labels Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:multi-arch Temporary test label ci:multi-arch-asan Temporary test label ci:multi-arch-nightly Temporary test label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant