Skip to content

test(ci): exercise the host-ASAN presubmit against TheRock#8455 - #12538

Draft
dileepr1 wants to merge 40 commits into
developfrom
users/dravindr/asan_test_8455
Draft

dileepr1 wants to merge 40 commits into
developfrom
users/dravindr/asan_test_8455

Conversation

@dileepr1

Copy link
Copy Markdown
Contributor

Validation branch, not for merge.

Re-runs the runtime-only host-ASAN presubmit against ROCm/TheRock#8455 instead of ROCm/TheRock#7780, to check that #8455 reaches the same result by a different route.

#7780 added an asan_presubmit workflow input and enabled presubmit tests only when external_repo and asan_presubmit were both set. #8455 has no such condition: host-asan lists pull_request in its test_triggers in amdgpu_family_matrix.py, so any host-ASAN presubmit build runs its tests. The input is gone from this workflow as a result; nothing else about the run changed.

TheRock side is users/dravindr/host_asan_8455_test, cut fresh from main (d7df0e20b) and carrying #8455, #8341 (ASAN runtime resolution), and the temporary commit that lets component tests run past the failing sanity check. The libraries-baseline-gate fix that the previous test branch carried is now merged in main, so it is no longer applied on top.

What to look for: Linux::host-asan builds compiler-runtime and runtime-tests on gfx94X, and hip-tests plus rocrtst actually execute on the ASAN sandbox runner rather than being skipped.

Supersedes #10088.

raramakr and others added 27 commits September 3, 2026 13:44
The input only reaches family selection on workflow_dispatch. Pull
requests start from TheRock's presubmit defaults and filter by host-asan
variant support, so the default here does not narrow PR scope.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ults

Sanity currently fails on a LeakSanitizer finding in libamdhip64, which
skips the two component test jobs this workflow exists to run. Set
sanity_blocks_components so they run anyway; sanity still reports its own
failure, so the leak stays visible while it is investigated.

Co-authored-by: Cursor <cursoragent@cursor.com>
Point to users/raramakr/asan-presubmit-test branch which enables
host-asan tests for external repos with build_stages set.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
TheRock now keys host-asan sandbox test runners off an explicit presubmit
input rather than inferring intent from build_stages being set. Opt in so
the runtime-only presubmit keeps getting a test runner on pull requests.

Co-authored-by: Cursor <cursoragent@cursor.com>
Follows the rename on TheRock's users/raramakr/asan-presubmit-test branch,
which this workflow pins by name.

Co-authored-by: Cursor <cursoragent@cursor.com>
Resolves the same #11233 conflict as #10558: develop disabled
Python/PyTorch/JAX for the ASAN workflow while this branch was already doing
so as part of scoping the host-ASAN presubmit. Keeps develop's rationale
comment and this branch's single copy of the three inputs, since taking both
sides would produce duplicate YAML keys.

Co-authored-by: Cursor <cursoragent@cursor.com>
Validate ROCm/TheRock#7780 on top of current main (which already carries
ROCm/TheRock#7602 and ROCm/TheRock#7600) without the sanity-check fixes
still in review as ROCm/TheRock#8100.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…n_test

Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	.github/workflows/therock-multi-arch-ci-asan.yml
Co-authored-by: Cursor <cursoragent@cursor.com>
…output)

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…ranching)

Co-authored-by: Cursor <cursoragent@cursor.com>
…ck preload

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…n_test

Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	.github/workflows/therock-multi-arch-ci-asan.yml
Co-authored-by: Cursor <cursoragent@cursor.com>
…n_test

Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	.github/workflows/therock-multi-arch-ci-asan.yml
Points the host-asan presubmit at users/dravindr/host_asan_8455_test, which
carries ROCm/TheRock#8455 (test_triggers as data in all_build_variants) in
place of ROCm/TheRock#7780 (the asan_presubmit workflow input).

#7780 enabled presubmit tests only for external_repo callers that opted in.
#8455 has no such condition: host-asan lists pull_request in its test_triggers,
so any host-asan presubmit build runs its tests. The input is therefore gone
from this workflow, and the run should otherwise look like the last one.

Not for merge -- validation branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added the github actions Pull requests that update GitHub Actions code label Sep 30, 2026
@therock-pr-bot

therock-pr-bot Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

✅ All Policy Checks Passed

Check Status Details
📝 PR Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ⚠️ Warning Error: Source/code files changed without an accompanying unit test.
Expected: add at least one test file named like test_<name>.py / test_<name>.cpp (or <name>_test.*).
Current: code file(s) changed: projects/rocr-runtime/rocrtst/common/os.cc; no test file found
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —

🎉 All policy checks passed!

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

🙋 Wish to Override Policy?

…n_test_8455

Co-authored-by: Cursor <cursoragent@cursor.com>

# Conflicts:
#	.github/workflows/therock-multi-arch-ci-asan.yml
dileepr1 and others added 6 commits October 1, 2026 14:15
users/dravindr/host_asan_8455_test now carries the post-review #8455
(tests_on_trigger + _get_current_triggers) instead of the original
event-name version. Empty commit to re-trigger.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keeps the TheRock refs pointed at users/dravindr/host_asan_8455_test
(which carries TheRock#8455 and TheRock#8341) rather than develop's
pinned SHA, and refreshes a stale comment that still referred to the
pre-review test_triggers/pull_request vocabulary.
The develop merge took our side of the job block, which reverted
multi_arch_ci_asan_summary back to the older multi_arch_ci_summary.
TheRock#8800 added path-based skip filtering for external repos. With no
pr_number or SHAs in external_repo it takes the legacy branch and runs
`git diff --name-only HEAD^` inside the shallow external-repo checkout,
which exits 128 and fails setup.
TheRock#8800 skips CI for external repos when every changed file is
skippable. The workflow yml alone is skippable, so this run needs one
non-skippable file. Comment-only; revert before merge.
dileepr1 and others added 2 commits October 14, 2026 08:49
TheRock host_asan_8455_test now starts hip-tests and rocrtst even when
the sanity check fails. This push retriggers that validation run.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the host-asan test-branch refs so the non-blocking sanity run can
start, and take develop's external_repo fields for the path filter.

Co-authored-by: Cursor <cursoragent@cursor.com>

@cfreeamd cfreeamd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI-assisted pre-review (for @cfreeamd)

Two CI-config files; no new test logic added to os.cc (the change is purely a trailing comment to force a rebuild). The rocrtst_yaml_missing flag is a false positive — no new TEST(...) entries were added. The malicious_intent_risk flag (workflow change) is expected for this kind of CI validation PR; no supply-chain concern.

Before any merge: (1) replace the three mutable ref: users/dravindr/host_asan_8455_test branch pins with pinned commit SHAs, and (2) revert the os.cc comment touch (the comment already says this — just a reminder).

@@ -57,20 +65,30 @@ concurrency:

jobs:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI-assisted pre-review (for @cfreeamd)

[Required] This pins to a mutable branch ref (users/dravindr/host_asan_8455_test) rather than a commit SHA. The original lines used c01e3a3f3f67966dd35612cf363b49964f33cd47 — branch refs can be force-pushed, silently changing what the CI runs. All three ref: occurrences here must be replaced with a pinned SHA before merge.


} // namespace rocrtst

// Touched to force a CI build for host-ASAN validation (TheRock#8455). Revert before merge.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI-assisted pre-review (for @cfreeamd)

[Required] This comment-touch must be reverted before merge (as the comment itself notes). No functional change — just a CI trigger artifact.

Trusting CMAKE_*_FLAGS_INIT left libamdhip64 linked with the ASan runtime
and no __asan_init, so hipFree aborted on a pointer the runtime had
allocated. Always append the host -fsanitize=address flags, and fail the
build if the installed amdhip64 is missing __asan_init.
ccache drops -Xarch_* unless the compile also passes -arch, so TheRock's
-Xarch_host -fsanitize=address never reaches clang and libamdhip64 stays
uninstrumented. Attach a plain host -fsanitize=address to the CLR C/C++
compiles, including amdhip64 and rocclr.
@dileepr1 dileepr1 added the ci:host-asan Opt-in to running multi-arch host-asan CI on a pull request label Oct 21, 2026
@dileepr1
dileepr1 marked this pull request as ready for review October 21, 2026 15:34
@dileepr1
dileepr1 requested review from a team and shwetagkhatri as code owners October 21, 2026 15:34
@dileepr1 dileepr1 added ci:host-asan Opt-in to running multi-arch host-asan CI on a pull request and removed ci:host-asan Opt-in to running multi-arch host-asan CI on a pull request labels Oct 21, 2026
The pull request was unmergeable, so pull_request CI never started. Keep the test workflow that pins the host-ASAN TheRock branch and runs hip-tests and rocrtst.
@dileepr1
dileepr1 marked this pull request as draft October 21, 2026 15:36
jobs:
setup:
uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@47434387de730d51788b705e5600602dd6064997 # 2026-10-16
uses: ROCm/TheRock/.github/workflows/setup_multi_arch.yml@users/dravindr/host_asan_8455_test # 2026-09-30
needs.setup.outputs.enable_build_jobs == 'true'
}}
uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@47434387de730d51788b705e5600602dd6064997 # 2026-10-16
uses: ROCm/TheRock/.github/workflows/multi_arch_ci_linux.yml@users/dravindr/host_asan_8455_test # 2026-09-30

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:host-asan Opt-in to running multi-arch host-asan CI on a pull request github actions Pull requests that update GitHub Actions code organization: ROCm project: clr project: rocr-runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants