ci: publish successful PR Docker builds with PR-number tags - #73
Merged
Merged
Conversation
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.
PR Docker builds currently cannot publish from forks because repository secrets are unavailable to fork workflows. This adds a trusted
workflow_runpublisher that copies successful AMD64 and ARM64 build artifacts toioeslab/dave:pr-N-amd64andpr-N-arm64, then creates the combinedpr-Ntag.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_runworkflows 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.