From bf337bd27b5f317da8693701ee6f232f604715c6 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 05:04:35 -0500 Subject: [PATCH 1/9] ci: add multi-arch CI workflows (manual, nightly, ASAN) 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 --- .../workflows/therock-multi-arch-ci-asan.yml | 101 +++++++++++++++++ .../therock-multi-arch-ci-nightly.yml | 30 +++++ .github/workflows/therock-multi-arch-ci.yml | 104 ++++++++++++++++++ 3 files changed, 235 insertions(+) create mode 100644 .github/workflows/therock-multi-arch-ci-asan.yml create mode 100644 .github/workflows/therock-multi-arch-ci-nightly.yml create mode 100644 .github/workflows/therock-multi-arch-ci.yml diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml new file mode 100644 index 00000000000..5ecfb6d2f55 --- /dev/null +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -0,0 +1,101 @@ +# Copyright Advanced Micro Devices, Inc. +# SPDX-License-Identifier: MIT + +# Multi-Arch CI Host ASAN for rocgdb +# +# This workflow runs host Address Sanitizer (ASAN) builds and tests +# using TheRock's multi-arch CI pipeline. + +name: TheRock Multi-Arch CI ASAN + +on: + push: + branches: + - amd-staging + - amd-staging-rocgdb-* + workflow_dispatch: + inputs: + linux_amdgpu_families: + type: string + description: "Insert comma-separated list of Linux GPU families to build and test. ex: gfx94X, gfx120X" + default: "" + linux_test_labels: + type: string + description: "If enabled, reduce test set on Linux to the list of labels prefixed with 'test:'. ex: test:rocgdb" + default: "" + prebuilt_stages: + type: string + default: "" + description: "Comma-separated build stages to skip (or 'all' for all stages); artifacts are copied from baseline_run_id instead" + baseline_run_id: + type: string + default: "" + description: "Workflow run ID to copy prebuilt stage artifacts from; required when prebuilt_stages is set" + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} + cancel-in-progress: true + +jobs: + setup: + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@2d417fa49bc4e657bcbcf0ae549238784175f0fe # 2026-06-18 + with: + build_variant: "host-asan" + # targets gfx94X and gfx950 are selected to replicate the ASAN coverage in TheRock + # as ASAN builds and tests require more resources, we only target these two architectures for the time being. + linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950' }} + linux_test_labels: ${{ inputs.linux_test_labels || '' }} + prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} + baseline_run_id: ${{ inputs.baseline_run_id || '' }} + repository: ROCm/TheRock + ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 + external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + + linux_build_and_test: + name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} + needs: setup + if: >- + ${{ + needs.setup.outputs.linux_build_config != '' && + needs.setup.outputs.enable_build_jobs == 'true' + }} + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@2d417fa49bc4e657bcbcf0ae549238784175f0fe # 2026-06-18 + secrets: inherit + with: + build_config: ${{ needs.setup.outputs.linux_build_config }} + test_labels: ${{ needs.setup.outputs.linux_test_labels }} + rocm_package_version: ${{ needs.setup.outputs.rocm_package_version }} + test_type: ${{ needs.setup.outputs.test_type }} + external_repo_config: ${{ needs.setup.outputs.external_repo_config }} + repository: ROCm/TheRock + ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 + permissions: + contents: read + id-token: write + + multi_arch_ci_summary: + name: Multi-Arch CI Summary + # always() is needed to show the job statuses regardless of failure + if: always() + needs: + - setup + - linux_build_and_test + runs-on: ubuntu-24.04 + steps: + - name: Checkout TheRock repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: "ROCm/TheRock" + ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 + sparse-checkout: build_tools/github_actions + sparse-checkout-cone-mode: true + + - name: Evaluate workflow results + env: + GITHUB_TOKEN: ${{ github.token }} + run: | + python build_tools/github_actions/workflow_summary.py \ + --needs-json '${{ toJSON(needs) }}' diff --git a/.github/workflows/therock-multi-arch-ci-nightly.yml b/.github/workflows/therock-multi-arch-ci-nightly.yml new file mode 100644 index 00000000000..4cc94efc75c --- /dev/null +++ b/.github/workflows/therock-multi-arch-ci-nightly.yml @@ -0,0 +1,30 @@ +# Copyright Advanced Micro Devices, Inc. +# SPDX-License-Identifier: MIT + +# Nightly trigger for Multi-Arch CI +# +# This workflow triggers therock-multi-arch-ci.yml via workflow_dispatch +# with specific GPU families. This is needed because TheRock's setup_multi_arch +# workflow runs all families when triggered by schedule, ignoring inputs. +# By using workflow_dispatch, TheRock respects our specified families. + +name: TheRock Multi-Arch CI Nightly Trigger + +on: + schedule: + - cron: "0 7 * * *" # Runs nightly at 7 AM UTC + +permissions: + actions: write + contents: read + +jobs: + multi-arch-ci-nightly-trigger: + runs-on: ubuntu-latest + steps: + - name: Trigger Multi-Arch CI with specific GPU families + uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 + with: + workflow: therock-multi-arch-ci.yml + ref: amd-staging + inputs: '{ "linux_amdgpu_families": "gfx94X,gfx950" }' diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml new file mode 100644 index 00000000000..a59aee5eb96 --- /dev/null +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -0,0 +1,104 @@ +# Copyright Advanced Micro Devices, Inc. +# SPDX-License-Identifier: MIT + +# Multi-Arch CI for rocgdb +# +# This workflow replicates TheRock's multi-arch CI pipeline by calling +# TheRock's reusable workflows directly. It provides sharded, multi-stage +# builds with per-architecture testing. +# +# Key differences from therock-ci.yml: +# - Uses TheRock's multi-arch sharded build pipeline (foundation -> compiler-runtime -> math-libs) +# - Supports prebuilt stages to skip certain build stages +# - Better parallelization across GPU architectures + +name: TheRock Multi-Arch CI + +on: + workflow_dispatch: + inputs: + linux_amdgpu_families: + type: string + description: "Insert comma-separated list of Linux GPU families to build and test. ex: gfx94X, gfx120X (empty = skip linux)" + default: "" + linux_test_labels: + type: string + description: "If enabled, reduce test set on Linux to the list of labels prefixed with 'test:'. ex: test:rocgdb" + default: "" + prebuilt_stages: + type: string + default: "" + description: "Comma-separated build stages to skip (or 'all' for all stages); artifacts are copied from baseline_run_id instead" + baseline_run_id: + type: string + default: "" + description: "Workflow run ID to copy prebuilt stage artifacts from; required when prebuilt_stages is set" + +permissions: + contents: read + +concurrency: + # A PR number if a pull request and otherwise the commit hash. This cancels + # queued and in-progress runs for the same PR (presubmit) or commit + # (postsubmit). The workflow name is prepended to avoid conflicts between + # different workflows. + group: ${{ github.workflow }}-${{ github.event.number || github.sha }} + cancel-in-progress: true + +jobs: + setup: + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@main + with: + build_variant: "release" + linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950' }} + linux_test_labels: ${{ inputs.linux_test_labels || '' }} + prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} + baseline_run_id: ${{ inputs.baseline_run_id || '' }} + repository: ROCm/TheRock + ref: main + external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + + linux_build_and_test: + name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} + needs: setup + if: >- + ${{ + needs.setup.outputs.linux_build_config != '' && + needs.setup.outputs.enable_build_jobs == 'true' + }} + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@main + secrets: inherit + with: + build_config: ${{ needs.setup.outputs.linux_build_config }} + test_labels: ${{ needs.setup.outputs.linux_test_labels }} + rocm_package_version: ${{ needs.setup.outputs.rocm_package_version }} + test_type: ${{ needs.setup.outputs.test_type }} + external_repo_config: ${{ needs.setup.outputs.external_repo_config }} + repository: ROCm/TheRock + ref: main + permissions: + contents: read + id-token: write + + multi_arch_ci_summary: + name: Multi-Arch CI Summary + if: always() + needs: + - setup + - linux_build_and_test + runs-on: ubuntu-24.04 + steps: + - name: Checkout TheRock repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: "ROCm/TheRock" + ref: main + sparse-checkout: build_tools/github_actions + sparse-checkout-cone-mode: true + + - name: Evaluate workflow results + env: + GITHUB_TOKEN: ${{ github.token }} + run: | + python build_tools/github_actions/workflow_summary.py \ + --needs-json '${{ toJSON(needs) }}' From 4e2eb477093da8f35a381280587e128c6a15d43d Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 05:05:04 -0500 Subject: [PATCH 2/9] ci: add label-based PR triggers for multi-arch workflows 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 --- .github/workflows/therock-multi-arch-ci-asan.yml | 7 +++++++ .github/workflows/therock-multi-arch-ci-nightly.yml | 9 ++++++++- .github/workflows/therock-multi-arch-ci.yml | 7 +++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 5ecfb6d2f55..30357883fab 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -13,6 +13,8 @@ on: branches: - amd-staging - amd-staging-rocgdb-* + pull_request: + types: [labeled] workflow_dispatch: inputs: linux_amdgpu_families: @@ -41,6 +43,11 @@ concurrency: jobs: setup: + if: >- + ${{ + github.event_name != 'pull_request' || + contains(github.event.pull_request.labels.*.name, 'ci:multi-arch-asan') + }} uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@2d417fa49bc4e657bcbcf0ae549238784175f0fe # 2026-06-18 with: build_variant: "host-asan" diff --git a/.github/workflows/therock-multi-arch-ci-nightly.yml b/.github/workflows/therock-multi-arch-ci-nightly.yml index 4cc94efc75c..ea50aaa175d 100644 --- a/.github/workflows/therock-multi-arch-ci-nightly.yml +++ b/.github/workflows/therock-multi-arch-ci-nightly.yml @@ -13,6 +13,8 @@ name: TheRock Multi-Arch CI Nightly Trigger on: schedule: - cron: "0 7 * * *" # Runs nightly at 7 AM UTC + pull_request: + types: [labeled] permissions: actions: write @@ -20,11 +22,16 @@ permissions: jobs: multi-arch-ci-nightly-trigger: + if: >- + ${{ + github.event_name != 'pull_request' || + contains(github.event.pull_request.labels.*.name, 'ci:multi-arch-nightly') + }} runs-on: ubuntu-latest steps: - name: Trigger Multi-Arch CI with specific GPU families uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 with: workflow: therock-multi-arch-ci.yml - ref: amd-staging + ref: ${{ github.event_name == 'pull_request' && github.head_ref || 'amd-staging' }} inputs: '{ "linux_amdgpu_families": "gfx94X,gfx950" }' diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index a59aee5eb96..6e8bbd3acc1 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -15,6 +15,8 @@ name: TheRock Multi-Arch CI on: + pull_request: + types: [labeled] workflow_dispatch: inputs: linux_amdgpu_families: @@ -47,6 +49,11 @@ concurrency: jobs: setup: + if: >- + ${{ + github.event_name != 'pull_request' || + contains(github.event.pull_request.labels.*.name, 'ci:multi-arch') + }} uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@main with: build_variant: "release" From 9310f783bdf16d1939eba7e338fbc39b78ee0b01 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 05:34:51 -0500 Subject: [PATCH 3/9] ci: pass extra_cmake_options to TheRock multi-arch builds 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 --- .github/workflows/therock-multi-arch-ci-asan.yml | 2 +- .github/workflows/therock-multi-arch-ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 30357883fab..7dd8bf22b6e 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -59,7 +59,7 @@ jobs: baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON"}' linux_build_and_test: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index 6e8bbd3acc1..067b867aa36 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -63,7 +63,7 @@ jobs: baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock ref: main - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}"}' + external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON"}' linux_build_and_test: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} From 023de870b8e5451d31ab2b761cd37df4d51c54cd Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 05:46:19 -0500 Subject: [PATCH 4/9] ci: pin TheRock ref to 9d0caa23a (skip irrelevant stages) 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 --- .github/workflows/therock-multi-arch-ci-asan.yml | 5 +++-- .github/workflows/therock-multi-arch-ci.yml | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 7dd8bf22b6e..2743b282c3c 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -48,7 +48,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch-asan') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@2d417fa49bc4e657bcbcf0ae549238784175f0fe # 2026-06-18 + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@9d0caa23ae34f86de3c6342493fa3874928f724a # users/lumachad/rocgdb/multi-arch-ci with: build_variant: "host-asan" # targets gfx94X and gfx950 are selected to replicate the ASAN coverage in TheRock @@ -69,7 +69,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@2d417fa49bc4e657bcbcf0ae549238784175f0fe # 2026-06-18 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@9d0caa23ae34f86de3c6342493fa3874928f724a # users/lumachad/rocgdb/multi-arch-ci secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -77,6 +77,7 @@ jobs: rocm_package_version: ${{ needs.setup.outputs.rocm_package_version }} test_type: ${{ needs.setup.outputs.test_type }} external_repo_config: ${{ needs.setup.outputs.external_repo_config }} + changed_projects: "rocgdb" repository: ROCm/TheRock ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 permissions: diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index 067b867aa36..1ab95001dd6 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -54,7 +54,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@main + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@9d0caa23ae34f86de3c6342493fa3874928f724a with: build_variant: "release" linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950' }} @@ -62,7 +62,7 @@ jobs: prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock - ref: main + ref: "9d0caa23ae34f86de3c6342493fa3874928f724a" # users/lumachad/rocgdb/multi-arch-ci external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON"}' linux_build_and_test: @@ -73,7 +73,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@main + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@9d0caa23ae34f86de3c6342493fa3874928f724a secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -81,8 +81,9 @@ jobs: rocm_package_version: ${{ needs.setup.outputs.rocm_package_version }} test_type: ${{ needs.setup.outputs.test_type }} external_repo_config: ${{ needs.setup.outputs.external_repo_config }} + changed_projects: "rocgdb" repository: ROCm/TheRock - ref: main + ref: "9d0caa23ae34f86de3c6342493fa3874928f724a" # users/lumachad/rocgdb/multi-arch-ci permissions: contents: read id-token: write @@ -99,7 +100,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: main + ref: "9d0caa23ae34f86de3c6342493fa3874928f724a" # users/lumachad/rocgdb/multi-arch-ci sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true From 0baaa40ad35ee1e48d7fd75e5e21793463a2eb61 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 12:50:32 -0500 Subject: [PATCH 5/9] ci: temporarily disable single-arch CI 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 --- .github/workflows/therock-ci.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/therock-ci.yml b/.github/workflows/therock-ci.yml index 75dd291b60b..3d84d62f2d0 100644 --- a/.github/workflows/therock-ci.yml +++ b/.github/workflows/therock-ci.yml @@ -1,14 +1,8 @@ name: TheRock CI for rocgdb +# Temporarily disabled: using multi-arch CI only (therock-multi-arch-ci.yml). +# Re-enable by restoring push/pull_request triggers. on: - push: - branches: - - amd-staging - - amd-staging-rocgdb-* - pull_request: - branches: - - amd-staging - - amd-staging-rocgdb-* workflow_dispatch: permissions: From 703a4e6612305c4a873d4eb1fe8cf9b31f22c822 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 13:54:11 -0500 Subject: [PATCH 6/9] ci: pin TheRock ref to 65fae3997 (skip_packaging via external_repo JSON) 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 --- .github/workflows/therock-multi-arch-ci-asan.yml | 6 +++--- .github/workflows/therock-multi-arch-ci.yml | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 2743b282c3c..d82d9016281 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -48,7 +48,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch-asan') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@9d0caa23ae34f86de3c6342493fa3874928f724a # users/lumachad/rocgdb/multi-arch-ci + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@65fae39974e65f6d60dc766a411960720967670a # users/lumachad/rocgdb/multi-arch-ci with: build_variant: "host-asan" # targets gfx94X and gfx950 are selected to replicate the ASAN coverage in TheRock @@ -59,7 +59,7 @@ jobs: baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON"}' + external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON","skip_packaging":true}' linux_build_and_test: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} @@ -69,7 +69,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@9d0caa23ae34f86de3c6342493fa3874928f724a # users/lumachad/rocgdb/multi-arch-ci + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@65fae39974e65f6d60dc766a411960720967670a # users/lumachad/rocgdb/multi-arch-ci secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index 1ab95001dd6..063b2749260 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -54,7 +54,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@9d0caa23ae34f86de3c6342493fa3874928f724a + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@65fae39974e65f6d60dc766a411960720967670a with: build_variant: "release" linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950' }} @@ -62,8 +62,8 @@ jobs: prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock - ref: "9d0caa23ae34f86de3c6342493fa3874928f724a" # users/lumachad/rocgdb/multi-arch-ci - external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON"}' + ref: "65fae39974e65f6d60dc766a411960720967670a" # users/lumachad/rocgdb/multi-arch-ci + external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON","skip_packaging":true}' linux_build_and_test: name: Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} @@ -73,7 +73,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@9d0caa23ae34f86de3c6342493fa3874928f724a + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@65fae39974e65f6d60dc766a411960720967670a secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -83,7 +83,7 @@ jobs: external_repo_config: ${{ needs.setup.outputs.external_repo_config }} changed_projects: "rocgdb" repository: ROCm/TheRock - ref: "9d0caa23ae34f86de3c6342493fa3874928f724a" # users/lumachad/rocgdb/multi-arch-ci + ref: "65fae39974e65f6d60dc766a411960720967670a" # users/lumachad/rocgdb/multi-arch-ci permissions: contents: read id-token: write @@ -100,7 +100,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: "9d0caa23ae34f86de3c6342493fa3874928f724a" # users/lumachad/rocgdb/multi-arch-ci + ref: "65fae39974e65f6d60dc766a411960720967670a" # users/lumachad/rocgdb/multi-arch-ci sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true From ba8873bc3247775b1708f94ad996391aa3ce2186 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 15:37:52 -0500 Subject: [PATCH 7/9] ci: pin TheRock ref to 101da5963 (fix wheel test job gating) Co-Authored-By: Claude Sonnet 4 --- .github/workflows/therock-multi-arch-ci-asan.yml | 4 ++-- .github/workflows/therock-multi-arch-ci.yml | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index d82d9016281..6c121b31dfc 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -48,7 +48,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch-asan') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@65fae39974e65f6d60dc766a411960720967670a # users/lumachad/rocgdb/multi-arch-ci + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@101da5963752697ef42a52db9845cb0c2e18a219 # users/lumachad/rocgdb/multi-arch-ci with: build_variant: "host-asan" # targets gfx94X and gfx950 are selected to replicate the ASAN coverage in TheRock @@ -69,7 +69,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@65fae39974e65f6d60dc766a411960720967670a # users/lumachad/rocgdb/multi-arch-ci + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@101da5963752697ef42a52db9845cb0c2e18a219 # users/lumachad/rocgdb/multi-arch-ci secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index 063b2749260..446d3ce5580 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -54,7 +54,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@65fae39974e65f6d60dc766a411960720967670a + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@101da5963752697ef42a52db9845cb0c2e18a219 with: build_variant: "release" linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950' }} @@ -62,7 +62,7 @@ jobs: prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock - ref: "65fae39974e65f6d60dc766a411960720967670a" # users/lumachad/rocgdb/multi-arch-ci + ref: "101da5963752697ef42a52db9845cb0c2e18a219" # users/lumachad/rocgdb/multi-arch-ci external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON","skip_packaging":true}' linux_build_and_test: @@ -73,7 +73,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@65fae39974e65f6d60dc766a411960720967670a + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@101da5963752697ef42a52db9845cb0c2e18a219 secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -83,7 +83,7 @@ jobs: external_repo_config: ${{ needs.setup.outputs.external_repo_config }} changed_projects: "rocgdb" repository: ROCm/TheRock - ref: "65fae39974e65f6d60dc766a411960720967670a" # users/lumachad/rocgdb/multi-arch-ci + ref: "101da5963752697ef42a52db9845cb0c2e18a219" # users/lumachad/rocgdb/multi-arch-ci permissions: contents: read id-token: write @@ -100,7 +100,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: "65fae39974e65f6d60dc766a411960720967670a" # users/lumachad/rocgdb/multi-arch-ci + ref: "101da5963752697ef42a52db9845cb0c2e18a219" # users/lumachad/rocgdb/multi-arch-ci sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true From 13375daf9766a96ee69742f34b50ca0f25f49e3f Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 15:53:36 -0500 Subject: [PATCH 8/9] ci: pin TheRock ref to 97f6cb5db (move stage logic to StageImpactAnalyzer) Co-Authored-By: Claude Sonnet 4 --- .github/workflows/therock-multi-arch-ci-asan.yml | 4 ++-- .github/workflows/therock-multi-arch-ci.yml | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 6c121b31dfc..0fbef64fdf8 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -48,7 +48,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch-asan') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@101da5963752697ef42a52db9845cb0c2e18a219 # users/lumachad/rocgdb/multi-arch-ci + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@97f6cb5db25304b4c74f80fa273e9f1a271c58e3 # users/lumachad/rocgdb/multi-arch-ci with: build_variant: "host-asan" # targets gfx94X and gfx950 are selected to replicate the ASAN coverage in TheRock @@ -69,7 +69,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@101da5963752697ef42a52db9845cb0c2e18a219 # users/lumachad/rocgdb/multi-arch-ci + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@97f6cb5db25304b4c74f80fa273e9f1a271c58e3 # users/lumachad/rocgdb/multi-arch-ci secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} diff --git a/.github/workflows/therock-multi-arch-ci.yml b/.github/workflows/therock-multi-arch-ci.yml index 446d3ce5580..0be8040ae9b 100644 --- a/.github/workflows/therock-multi-arch-ci.yml +++ b/.github/workflows/therock-multi-arch-ci.yml @@ -54,7 +54,7 @@ jobs: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci:multi-arch') }} - uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@101da5963752697ef42a52db9845cb0c2e18a219 + uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@97f6cb5db25304b4c74f80fa273e9f1a271c58e3 with: build_variant: "release" linux_amdgpu_families: ${{ inputs.linux_amdgpu_families || 'gfx94X,gfx950' }} @@ -62,7 +62,7 @@ jobs: prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock - ref: "101da5963752697ef42a52db9845cb0c2e18a219" # users/lumachad/rocgdb/multi-arch-ci + ref: "97f6cb5db25304b4c74f80fa273e9f1a271c58e3" # users/lumachad/rocgdb/multi-arch-ci external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON","skip_packaging":true}' linux_build_and_test: @@ -73,7 +73,7 @@ jobs: needs.setup.outputs.linux_build_config != '' && needs.setup.outputs.enable_build_jobs == 'true' }} - uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@101da5963752697ef42a52db9845cb0c2e18a219 + uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@97f6cb5db25304b4c74f80fa273e9f1a271c58e3 secrets: inherit with: build_config: ${{ needs.setup.outputs.linux_build_config }} @@ -83,7 +83,7 @@ jobs: external_repo_config: ${{ needs.setup.outputs.external_repo_config }} changed_projects: "rocgdb" repository: ROCm/TheRock - ref: "101da5963752697ef42a52db9845cb0c2e18a219" # users/lumachad/rocgdb/multi-arch-ci + ref: "97f6cb5db25304b4c74f80fa273e9f1a271c58e3" # users/lumachad/rocgdb/multi-arch-ci permissions: contents: read id-token: write @@ -100,7 +100,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: "101da5963752697ef42a52db9845cb0c2e18a219" # users/lumachad/rocgdb/multi-arch-ci + ref: "97f6cb5db25304b4c74f80fa273e9f1a271c58e3" # users/lumachad/rocgdb/multi-arch-ci sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true From 5d793b257a8cf60cf6e695fdd545337a13e2a800 Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Fri, 19 Jun 2026 17:08:58 -0500 Subject: [PATCH 9/9] ci: fix ASAN workflow using stale TheRock ref 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 --- .github/workflows/therock-multi-arch-ci-asan.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/therock-multi-arch-ci-asan.yml b/.github/workflows/therock-multi-arch-ci-asan.yml index 0fbef64fdf8..cb0b65148fd 100644 --- a/.github/workflows/therock-multi-arch-ci-asan.yml +++ b/.github/workflows/therock-multi-arch-ci-asan.yml @@ -58,7 +58,7 @@ jobs: prebuilt_stages: ${{ inputs.prebuilt_stages || '' }} baseline_run_id: ${{ inputs.baseline_run_id || '' }} repository: ROCm/TheRock - ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 + ref: "97f6cb5db25304b4c74f80fa273e9f1a271c58e3" # users/lumachad/rocgdb/multi-arch-ci external_repo: '{"repository":"${{ github.repository }}","ref":"${{ github.sha }}","extra_cmake_options":"-DTHEROCK_USE_EXTERNAL_ROCGDB=ON","skip_packaging":true}' linux_build_and_test: @@ -79,7 +79,7 @@ jobs: external_repo_config: ${{ needs.setup.outputs.external_repo_config }} changed_projects: "rocgdb" repository: ROCm/TheRock - ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 + ref: "97f6cb5db25304b4c74f80fa273e9f1a271c58e3" # users/lumachad/rocgdb/multi-arch-ci permissions: contents: read id-token: write @@ -97,7 +97,7 @@ jobs: uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: "ROCm/TheRock" - ref: "2d417fa49bc4e657bcbcf0ae549238784175f0fe" # 2026-06-18 + ref: "97f6cb5db25304b4c74f80fa273e9f1a271c58e3" # users/lumachad/rocgdb/multi-arch-ci sparse-checkout: build_tools/github_actions sparse-checkout-cone-mode: true