Skip to content

ci: add no_rocm_image_ubuntu24_04_openmpi test image - #6610

Merged
minseobshin11 merged 2 commits into
mainfrom
users/mishin/openmpi-test-image
Jul 22, 2026
Merged

minseobshin11 merged 2 commits into
mainfrom
users/mishin/openmpi-test-image

Conversation

@minseobshin11

Copy link
Copy Markdown
Contributor

Motivation

Several ROCm subproject tests gate on find_package(MPI) and launch under mpiexec, but the shared no_rocm test image doesn't include an MPI implementation — so those tests are silently DISABLED in CI. OpenMPI is intentionally not bundled in ROCm artifacts (we don't want to force our MPI onto users, who may run their own), so this PR provides it at the system level in a dedicated test image. The first consumer is rocprofiler-sdk's rocprofv3 mpi-ranks tests; the test-job wiring lands in a follow-up (#5627).

Technical Details

  • Adds dockerfiles/no_rocm_image_ubuntu24_04_openmpi.Dockerfile, extending the base no_rocm_image_ubuntu24_04 image with a system OpenMPI install (apt install libopenmpi-dev openmpi-bin — Ubuntu 24.04's OpenMPI 4.1.x).
  • Registers the publish job publish_no_rocm_image_ubuntu24_04_openmpi in .github/workflows/publish_no_rocm_image_ubuntu24_04.yml (mirrors the _media/_rocgdb extension jobs so it rebuilds when the base image changes).
  • Documents the image in dockerfiles/README.md.

Published image: ghcr.io/rocm/no_rocm_image_ubuntu24_04_openmpi.

Test Plan

  • Trigger publish_no_rocm_image_ubuntu24_04.yml (push to main/stage/docker/**, or workflow_dispatch) and confirm the image builds and publishes.
  • Verify the image provides OpenMPI — mpiexec on PATH and find_package(MPI) succeeds.

Test Result

_Image builds and publishes via publish_no_rocm_image_ubuntu24_04.yml

JIRA ID

JIRA ID : AIROCVAL-45

Submission Checklist

@therock-pr-bot

therock-pr-bot Bot commented Jul 16, 2026 •

Copy link
Copy Markdown

✅ All Checks Passed — Ready for Review

Check Status Details
🌿 Branch Name ✅ Pass —
📝 PR Title/Description ✅ Pass —
⛔ Forbidden Files ✅ Pass —
🧪 Unit Test ✅ Pass PR does not contain code files — Unit Test auto-passed
🔎 pre-commit ✅ Pass —
🚫 Draft PR 🔜 To Be Enabled —
🚩 Feature Flag 🔜 To Be Enabled —
📊 Code Coverage 🔜 To Be Enabled —
🤖 therock-pr-bot ✅ Pass —

🎉 All checks passed! This PR is ready for review.

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

@therock-pr-bot

Copy link
Copy Markdown

🎉 All checks passed! This PR is ready for review.

@minseobshin11
minseobshin11 marked this pull request as ready for review July 16, 2026 17:23
@minseobshin11
minseobshin11 requested a review from ScottTodd July 16, 2026 17:23
@ScottTodd
ScottTodd requested a review from marbre July 17, 2026 17:01

@ScottTodd ScottTodd left a comment

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.

This approach makes sense to me, though I haven't interfaced as directly with consumers of the libraries that use MPI to judge from that angle.

@marbre could you review too?

Comment thread dockerfiles/README.md Resolved
@minseobshin11
minseobshin11 merged commit 9b209ec into main Jul 22, 2026
17 checks passed
@minseobshin11
minseobshin11 deleted the users/mishin/openmpi-test-image branch July 22, 2026 14:21
@github-project-automation github-project-automation Bot moved this from TODO to Done in TheRock Triage Jul 22, 2026
minseobshin11 added a commit that referenced this pull request Jul 23, 2026
## Motivation

rocprofiler-sdk's `rocprofv3` **mpi-ranks** tests are silently
**disabled** unless `find_package(MPI)` succeeds at test-configure time.
The shared `no_rocm` test image doesn't include an MPI implementation,
so these tests never run in CI. This PR points the rocprofiler-sdk test
job at the dedicated OpenMPI test image so the tests find MPI and run.

## Technical Details

- Points the `rocprofiler-sdk` test job at
`ghcr.io/rocm/no_rocm_image_ubuntu24_04_openmpi` via `container_image`
in `build_tools/github_actions/fetch_test_configurations.py`.

Depends on #6610, which adds and publishes that image.
`test_rocprofiler_sdk.py` configures and builds the tests at test time
inside the container, so `find_package(MPI)` resolves the system OpenMPI
and `mpiexec` is on `PATH`, enabling the mpi-ranks tests. `rocprofv3`
itself does not link MPI, so no build-time MPI is required and OpenMPI
stays out of the shipped ROCm artifacts.

The image is referenced by tag pending publish; it will be pinned to an
`@sha256` digest once #<image PR> lands and the image is published (see
`dockerfiles/README.md`).

## Test Plan

Run the `rocprofiler-sdk` test job in CI on the OpenMPI image and
confirm the mpi-ranks tests are selected and executed (not `DISABLED`)
and pass.

## Test Result

_CI run on this branch: the rocprofiler-sdk job runs on the OpenMPI test
image and the mpi-ranks tests run + pass

## JIRA ID

JIRA ID : AIROCVAL-45

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants