Skip to content

ci: execute shared interface verification on contributor PRs - #29

Merged
wikki26 merged 1 commit into
mainfrom
ci/enable-interfaces-quality-gate
Oct 31, 2026
Merged

wikki26 merged 1 commit into
mainfrom
ci/enable-interfaces-quality-gate

Conversation

@wikki26

@wikki26 wikki26 commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Enable the existing shared quality/test verification gate for openamrobot-interfaces contributor PRs (the same missing verify: true default identified in platform-sw #98).

Changes

  • .github/workflows/repository-quality.yml opts into verify: true in a clean ROS Jazzy container (read-only PR permissions).
  • The repository's already-authoritative tools/verify.sh retains its real schema, compatibility, build, consumer and two-RMW message exchange checks; it now bootstraps the documented prerequisites in CI when the new shared container starts without them.
  • The bootstrap is CI-only and idempotent: existing ros2-jazzy.yml installs the same apt dependencies and initializes rosdep.
  • No message schemas, ABI, robot-control parameters or safety logic changed.

Acceptance

  • Head de22b0e: repository-quality / quality/test genuinely executes and passes, not skipped.
  • Existing ROS 2 Jazzy / quality/build remains green.
  • Shared verifier delegates to tools/verify.sh and retains verification evidence.
  • Both FastDDS and CycloneDDS navigation message exchange tests run; reverted-message mismatch is detected.
  • Reviewers confirm the additional PR work is appropriate before merge.

Review boundary: No attempt to change the existing interface source contracts, safety requirements or main branch directly. AI-assisted CI change; DCO sign-off included.

Hosted results (29 Oct 2026)

  • New shared quality run 40887451839 PASS; includes delegated verification evidence. Both repository-quality / repository-quality and repository-quality / quality/test passed.
  • Existing independent ROS 2 Jazzy run 40887451149 PASS; artifact.
  • The delegated verification built both interface packages, resolved all 13 generated ROS interface types, ran 15 schema tests and 14 compatibility tests, built the installed consumer, and validated message exchange for both rmw_fastrtps_cpp and rmw_cyclonedds_cpp. The unchanged consumer correctly rejected a deliberately reverted NavigationStatus contract (expected exit 42).
  • No controller, actuator, physical robot or real-hardware motion test was performed.

Remaining: Maintainer review/approval and merge; an external fork-to-reviewer pilot remains a separate end-to-end gate.

Enable fail-closed quality/test and idempotently bootstrap Jazzy
interface dependencies for clean shared containers. Preserve both RMW
checks and existing reference-verifier artifact evidence.

Signed-off-by: Arumuga Vignesh SR <129583467+wikki26@users.noreply.github.com>

@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.

Reviewed head de22b0e7686d876166a4e42d245164deef12fade. This is a focused CI change: it activates the shared verification job and adds an idempotent CI-only dependency bootstrap while preserving the repository's existing schema, compatibility, consumer, and two-RMW checks. Both current head workflows pass, and no interface definitions or runtime contracts change. Approved.

@KARTHIKEYAN124 KARTHIKEYAN124 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.

Reviewed de22b0e. The shared verification gate now executes rather than skips, while retaining the existing interface checks. Hosted evidence confirms 15 schema tests, 14 compatibility tests, all 13 generated interfaces, the installed consumer, and message exchange with both FastDDS and CycloneDDS. The reverted-contract negative control correctly exits 42. Both CI workflows pass.

Non-blocking follow-up: pin the ROS container by digest for a stable baseline. I inspected code and hosted logs; I did not rerun the ROS build locally.

@wikki26
wikki26 merged commit 14912e1 into main Oct 31, 2026
5 checks passed
@wikki26
wikki26 deleted the ci/enable-interfaces-quality-gate branch October 31, 2026 12:55
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.

3 participants