Skip to content

ci: publish successful PR Docker builds with PR-number tags - #73

Merged
woensug-choi merged 2 commits into
ros2from
ci/publish-pr-images-20260923
Sep 23, 2026
Merged

woensug-choi merged 2 commits into
ros2from
ci/publish-pr-images-20260923

Conversation

@woensug-choi

Copy link
Copy Markdown

PR Docker builds currently cannot publish from forks because repository secrets are unavailable to fork workflows. This adds a trusted workflow_run publisher that copies successful AMD64 and ARM64 build artifacts to ioeslab/dave:pr-N-amd64 and pr-N-arm64, then creates the combined pr-N tag.

The publisher requires both builds to match the current head of an open PR targeting ros2. It runs on Ubuntu 26.04, never checks out or executes PR code, validates image architectures, and checks the PR head again before updating the PR-number tags. Immutable tags include the source SHA. A manual run can publish an existing successful build after this workflow is enabled.

This is separated from #44 because GitHub only activates workflow_run workflows once their file exists on the default branch. #44 supplies the image artifacts and fixes its sonar build dependencies. Merging this PR does not merge the sonar changes.

Validation: workflow syntax and YAML lint passed; 12 mocked publisher cases passed, covering fork PR lookup, manual input validation, stale or closed PRs, failed/wrong workflows, incomplete build pairs, and missing/expired artifacts. Actual Docker Hub publication remains pending successful image builds and activation on ros2.

@woensug-choi
woensug-choi merged commit 8a3f6ab into ros2 Sep 23, 2026
2 checks passed
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.

1 participant