ci: drop anonymous-pull check from docker smoke test - #6
Merged
Conversation
The frontieragent GHCR package is private by org policy, so the `docker logout` + anonymous `docker pull` assertion at the end of the smoke test can never succeed. Every run since the initial release failed there, even though the build and push steps completed fine. Keep the substantive checks that run while the job is still logged in (pull, `--version`, `import_smoke.py --stage 2`) and note in a comment why the anonymous check must not come back. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Docker publish workflow to stop asserting that the just-published GHCR image is anonymously pullable, aligning the smoke test with the org policy that the image package remains private.
Changes:
- Removes the
docker logout+ anonymousdocker pullretry loop that cannot succeed for a private package. - Keeps the authenticated post-publish validation (
docker pull,--version, andtools/import_smoke.py --stage 2) and adds an inline comment explaining the rationale.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
test_publish_workflow_uses_canonical_image_and_runtime_smoke pinned the `docker logout` + anonymous-pull block that the previous commit removed, so it failed on that commit. Flip the assertion rather than delete it: the checks the smoke test can actually perform stay pinned, and the anonymous-pull check is now asserted absent so it cannot be reintroduced against a private package. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
dq-ai-dev
approved these changes
Aug 25, 2026
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.
Problem
Every
Publish Docker Imagerun since the initial release has failed — 6 for 6. But the failure moved: the originaldenied: permission_denied: read_packagewas a GHCR package-ownership issue (thefrontieragentpackage was created by the old repo, since renamed toFrontierAgentInternal, so this repo'sGITHUB_TOKENhad no access). That has been fixed out-of-band by granting this repo Admin access in the package's Manage Actions access settings.With that resolved, build and push now succeed. The remaining failure is the last step:
The package is private by org policy. The
docker logout+ anonymousdocker pullblock asserts the opposite, so it can never pass — the retry loop just burns ~2 minutes before failing a job whose image was already published successfully.Change
Drop the anonymous-pull assertion. The checks that actually validate the image are kept, and still run while the job holds its
ghcr.iologin:docker pullthe published tagdocker run --rm "$image" --versiondocker run --rm "$image" python tools/import_smoke.py --stage 2A comment records why the anonymous check must not be added back, so it does not get "restored" as an apparent omission later.
Note
The repository is public but the image package is private, so external users cannot
docker pullthe published image. That is a policy decision and is left alone here — worth confirming it matches what the README tells users to do.