Skip to content

ci: add baseline ROS 2 CI image - #41

Open
wikki26 wants to merge 5 commits into
mainfrom
h-ci-1-baseline-image
Open

wikki26 wants to merge 5 commits into
mainfrom
h-ci-1-baseline-image

Conversation

@wikki26

@wikki26 wikki26 commented Oct 6, 2026

Copy link
Copy Markdown

Summary

Adds the initial H-CI-1 baseline CI container image for ROS 2 Jazzy and a GitHub Actions workflow for publishing the image to GHCR.

Changes

  • Pin ROS 2 Jazzy base image by digest
  • Preinstall common CI/ROS tooling
  • Preinstall platform ROS dependencies
  • Configure CycloneDDS as the default RMW implementation
  • Add GitHub Actions workflow for building and publishing the image to GHCR

Validation

Tested locally against openamr-platform-sw.

  • All 7 ROS packages build successfully
  • Clean colcon build --symlink-install: ~1m17s
  • Previous cold dependency installation: ~6m50s
  • Preinstalled dependencies remove the dependency-install step from the normal CI path

Known issue

micro_ros_agent does not currently have a rosdep definition for Ubuntu Noble. The platform workspace still builds successfully.

Signed-off-by: Vignesh <vickyofficial26@gmail.com>
@cla-assistant

cla-assistant Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@cla-assistant

cla-assistant Bot commented Oct 6, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@panthera-momagdii panthera-momagdii left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Direction is good, but H-CI-1 is not complete yet against the work-package acceptance you shared.

Please close these before approval:

  1. The new image workflow only runs on push to main / manual dispatch, so this PR has no hosted Docker build validation. Add a PR build-only path (no GHCR push) so a broken Dockerfile cannot merge green.
  2. After the publish path is proven, record/pin the produced image digest in the manifest.
  3. Use that same pinned image for contributor development through a devcontainer, and show a contributor can open it and reach a working build.
  4. Add evidence for the cold pull-request software gate staying within the 10-minute budget.
  5. The image currently installs ros-jazzy-rplidar-ros, while the current 2.0 S3 path is moving to sllidar_ros2 from the pinned source manifest. Please either document why the legacy package is still intentionally needed in the baseline image or align the image with the current driver path.

Repository-quality and CLA are green, but they do not validate the container build/publish path itself. Re-request review once the hosted image build and H-CI-1 acceptance evidence are present.

@panthera-momagdii panthera-momagdii left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Direction is good, but H-CI-1 is not complete yet against the stated acceptance criteria.

Please close these before approval:

  1. The image workflow only runs on push to main / manual dispatch, so this PR has no hosted Docker build validation. Add a pull-request build-only path (no GHCR push) so a broken Dockerfile cannot merge green.
  2. After the publish path is proven, record and pin the produced image digest in the manifest.
  3. Use the same pinned image for contributor development through a devcontainer and show that a contributor can open it and reach a working build.
  4. Add evidence that a cold pull-request software gate stays within the 10-minute budget.
  5. The image currently installs ros-jazzy-rplidar-ros, while the current 2.0 S3 path is moving to sllidar_ros2 from the pinned source manifest. Either document why the legacy package is intentionally kept in the baseline image or align the image with the current driver path.

Repository-quality and CLA are green, but they do not validate the container build/publish path itself. Re-request review once the hosted image build and H-CI-1 acceptance evidence are present.

wikki26 and others added 2 commits October 8, 2026 19:59
Signed-off-by: Arumuga Vignesh S R <129583467+wikki26@users.noreply.github.com>
Signed-off-by: Arumuga Vignesh S R <129583467+wikki26@users.noreply.github.com>
@wikki26
wikki26 force-pushed the h-ci-1-baseline-image branch from a548857 to d929043 Compare October 8, 2026 18:00
Signed-off-by: Arumuga Vignesh S R <129583467+wikki26@users.noreply.github.com>
Signed-off-by: Arumuga Vignesh S R <129583467+wikki26@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants