[ci] Adding multi-arch CI ASAN run for submodule bumps#5140
Conversation
- Add push trigger to multi_arch_ci_asan.yml for rocm-systems and rocm-libraries path changes - Add build_only flag to TestRocmDecision to skip tests entirely - When ASAN variant detects submodule changes (non-schedule), set build_only=True which disables all test runners - Nightly ASAN runs continue to run full tests as before This validates ASAN compilation on submodule bumps without consuming test runner capacity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This reverts commit c268007.
- Add PR triggers (labeled, opened, synchronize) to ASAN workflow - Skip ASAN CI on PRs unless submodules changed, reducing CI load - Add expect_failure flag for ASAN variant - Add tests for ASAN skip logic in should_skip_ci Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| ci_summary: | ||
| name: CI Summary | ||
| name: CI ASAN Summary |
There was a problem hiding this comment.
I have a branch that updates these all to be unambiguous, fyi:
- https://github.com/ScottTodd/TheRock/tree/multi-arch-job-names
- https://github.com/ROCm/TheRock/compare/main...ScottTodd:TheRock:multi-arch-job-names?expand=1
The "name" CI Summary shows up in the UI:
The job name in code ci_summary matters for required checks:
TheRock/build_tools/github_actions/workflow_summary.py
Lines 35 to 39 in 66232fa
There was a problem hiding this comment.
oops let me revert that then!
There was a problem hiding this comment.
I don't mind you including the same change here... I'm juggling too many branches and idk when I'll finish + send that 😅
There was a problem hiding this comment.
it's no problem :) i would rather not complicate things for u
| "asan": { | ||
| "build_variant_label": "asan", | ||
| "build_variant_suffix": "asan", | ||
| "build_variant_cmake_preset": "linux-release-asan", | ||
| "expect_failure": True, | ||
| }, |
There was a problem hiding this comment.
expect_failure is not working with multi-arch CI when last I analyzed it. I want to remove it. See #4500
| # Skip ASAN on PRs unless submodule changes are present. | ||
| # This avoids running expensive ASAN builds on every PR while still | ||
| # catching ASAN issues when library code (submodules) changes. | ||
| if ( | ||
| ci_inputs.is_pull_request | ||
| and ci_inputs.build_variant == "asan" | ||
| and git_context.changed_files is not None | ||
| and git_context.submodule_paths is not None | ||
| ): | ||
| matching = set(git_context.submodule_paths) & set(git_context.changed_files) | ||
| if not matching: | ||
| print(" Skipping: ASAN PR without submodule changes") | ||
| return True |
There was a problem hiding this comment.
People are going to send their own [draft] PRs that include submodule updates outside of our regularly scheduled bumps, and this is going to run expensive ASan builds on those PRs.
I bet we'll want a system like https://github.com/iree-org/iree/blob/fbe60d8c0fc391d5f64fe0a71bca330f7bff445c/build_tools/github_actions/configure_ci.py#L203-L212
Let's keep an eye on this. Probably worth a TODO or more details in the comment.
To get better signal, we are enabling Multi-arch CI ASAN runs for submodule bumps --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
To get better signal, we are enabling Multi-arch CI ASAN runs for submodule bumps