build: add OCI version labels to service images (PR-3, Theme A) - #41
Merged
Conversation
- add ARG UBEROS_VERSION=dev + org.opencontainers.image.* labels - cover all 8 built services; version defaults to dev - multi-stage frontend/gzweb-client label the final serve stage 🏷️ - Generated by Copilot
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds OCI image provenance labels across the UbeROS service images so published containers carry version metadata (FR-A5), with UBEROS_VERSION defaulting to dev for local builds and intended to be overridden by the release pipeline.
Changes:
- Add
ARG UBEROS_VERSION=devand OCI labels (org.opencontainers.image.version,title,source) to multiple service Dockerfiles. - Ensure multi-stage images (frontend and gzweb client) apply labels to the final runtime stage so the shipped image is labeled.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| services/ros/Dockerfile | Adds UBEROS_VERSION build arg + OCI labels to the ros base service image. |
| services/gazebo/Dockerfile | Adds UBEROS_VERSION build arg + OCI labels to the gazebo service image. |
| services/turtlesim/Dockerfile | Adds UBEROS_VERSION build arg + OCI labels to the turtlesim service image. |
| services/editor/Dockerfile | Adds UBEROS_VERSION build arg + OCI labels to the editor service image. |
| services/frontend/Dockerfile | Adds OCI labels to the final nginx runtime stage of the frontend image. |
| services/gazebo/client/Dockerfile | Adds OCI labels to the final nginx runtime stage of the gzweb-client image. |
| services/proxy/Dockerfile | Adds UBEROS_VERSION build arg + OCI labels to the proxy service image. |
| services/control/Dockerfile | Adds UBEROS_VERSION build arg + OCI labels to the control service image. |
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
services/ros/Dockerfile:15
- The comment references
docs/VERSIONING.mdfor FR-A5 / OCI label behavior, but that doc doesn’t mention FR-A5,UBEROS_VERSION, or OCI labels. The FR-A5 definition (includingorg.opencontainers.image.version) is indocs/prds/004-uberos-release-packaging.md. Consider updating this reference (and the identical block in the other Dockerfiles touched by this PR) so readers land on the correct requirement spec.
# OCI provenance labels. UBEROS_VERSION defaults to `dev` for local builds and
# is overridden at release time (FR-A5). See docs/VERSIONING.md.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the PRD 004 Release, Packaging & Distribution epic (Wave 1, PR-3).
Summary
Adds OCI image-provenance labels to all 8 built service images so published images carry version metadata.
ARG UBEROS_VERSION=dev+org.opencontainers.image.version|title|sourcelabels to ros, gazebo, turtlesim, editor, frontend, gzweb-client, proxy, control.versiondefaults todevwhen the build-arg is unset; the release pipeline (PR-10) will pass the real version.Requirements
Validation
docker inspectreturnsversion=dev,title=uberos-control,source=....docker buildx build --call=checkclean on the other 7 (one pre-existing, unrelated proxy warning onENV UBEROS_AUTH).