Skip to content

feat(ci): run cpu tests only once - #8904

Closed
geomin12 wants to merge 2 commits into
mainfrom
users/geomin12/cpu-test-only-once
Closed

geomin12 wants to merge 2 commits into
mainfrom
users/geomin12/cpu-test-only-once

Conversation

@geomin12

@geomin12 geomin12 commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

since cpu tests are agnostic of arch, we run cpu tests only once

we also only run on medium runners too per comment here: #8768 (comment)

geomin12 and others added 2 commits October 9, 2026 11:44
CPU tests (e.g., rocgdb-cpu) are architecture-independent but were
running redundantly for every GPU family. Only assign the CPU test
runner to the first family so they execute exactly once. Also switch
CPU test runner from aws-linux-scale-rocm-prod to
aws-linux-scale-rocm-medium since these tests don't need large machines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Test that only the first family gets a CPU runner assignment and that
subsequent families correctly have an empty test-runs-on-cpu, ensuring
CPU tests execute exactly once across GPU families.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@geomin12 geomin12 added the ci:cpu-test-only Run only CPU tests (skip GPU tests) label Oct 9, 2026
@therock-pr-bot

therock-pr-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown

❌ PR Check — Action Required

Check Status Details
📝 PR Description ❌ Fail 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
• JIRA ID (on separate line)
ROCM-25757
• ISSUE ID : TESTUTO-3334
• ISSUE ID #3334
• ISSUE ID - TESTAUTO-3433
• ISSUE ID (on separate line)
AIRUNTIME-2352
• 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 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.

🙋 Wish to Override Policy?

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

therock-pr-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown

🚫 Please fix the failed policies before requesting reviews.

The following policy checks failed:

  • ❌ PR Description

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

Comment on lines +1614 to +1618
# CPU tests are architecture-independent, so only schedule them for the
# first family to avoid redundant runs across GPU targets.
if not per_family_info:
# First family: assign CPU runner
test_runs_on_cpu = get_cpu_test_runner(platform)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm not sure this is generally true. We should check across all ROCm subprojects.

Don't the tests only install artifacts for the requested GPU families? Consider a test that checks for kpack files for the current "gpu targets to test" - if we only run that on gfx942 we could miss that gfx1100 expects files to be produced but they aren't.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We could create a separate test matrix that is just CPU, so we'd have:

  • test CPU (fetch all gfx targets)
  • test GPU (gfx942)
  • test GPU (gfx950)
  • test GPU (gfx1151)

(I'm convinced this de-duplication is worth doing... but we need to think a bit carefully about which components need what testing and how to plug that in)

@geomin12

geomin12 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor Author

Scott brings up a good point, so this can be closed as we want to keep testing for those archs

@geomin12 geomin12 closed this Oct 9, 2026
@geomin12
geomin12 deleted the users/geomin12/cpu-test-only-once branch October 9, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:cpu-test-only Run only CPU tests (skip GPU tests) Not ready to Review PR has unresolved policy failures — reviews blocked

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants