Repository navigation
CI: publish to Docker Hub only, drop GHCR - #7
Conversation
The GHCR push failed with 403 Forbidden because the org package isn't linked to this repo, so the built-in GITHUB_TOKEN lacks write access. Production deploys from Docker Hub (swarm pulls Docker Hub), so GHCR was unused dead weight blocking the build. Remove the GHCR login, image, and the now-unneeded packages: write permission. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughRemoves GitHub Container Registry (GHCR) support from the Docker publish workflow by dropping the ChangesDocker Workflow GHCR Removal
Claude Plugin Addition
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
AI Code Review by LlamaPReview
🎯 TL;DR & Recommendation
Recommendation: Approve with suggestions
This PR simplifies Docker publishing by removing GHCR and unnecessary permissions, fixing a 403 build failure. However, it bundles an unrelated change to AI assistant plugins that reduces PR traceability.
🌟 Strengths
- Clean removal of GHCR and
packages: writepermission, directly addressing the build failure.
💡 Suggestions (P2)
- .claude/settings.json: Bundling an unrelated plugin configuration change reduces PR traceability and complicates rollback; consider separating into its own commit with a clear justification.
💡 Have feedback? We'd love to hear it in our GitHub Discussions.
✨ This review was generated by LlamaPReview Advanced, which is free for all open-source projects. Learn more.
| { | ||
| "enabledPlugins": { | ||
| "superpowers-developing-for-claude-code@superpowers-marketplace": true, | ||
| "frontend-design@claude-plugins-official": true | ||
| "frontend-design@claude-plugins-official": true, | ||
| "pr-review-toolkit@claude-plugins-official": true | ||
| } | ||
| } |
There was a problem hiding this comment.
P2 | Confidence: Medium
Speculative: The PR bundles an unrelated change to the AI assistant plugin configuration (pr-review-toolkit added) alongside the core CI fix. While the plugin addition is presumably intentional, mixing two logically independent changes in a single pull request reduces traceability, complicates release notes, and makes rollback more error-prone if either change needs to be reverted. No deterministic failing path is visible in the changed snippet, but the pattern violates the principle of single responsibility for commits/PRs.
Problem
After fixing the GHCR login and rotating the Docker Hub token, the build reached the push step and failed:
```
failed to push ghcr.io/linehaul-ai/streamlit-network:latest: 403 Forbidden
```
The org-level GHCR package isn't linked to this repository, so the built-in `GITHUB_TOKEN` (even with `packages: write`) can't push to it. This was hidden until now because PR runs use `push: false`.
Fix
Production deploys from Docker Hub (Docker Swarm pulls Docker Hub); GHCR was never used. Remove it entirely:
Result: the workflow builds and pushes a single Docker Hub image on push to master — no GHCR permissions to manage.
🤖 Generated with Claude Code
Summary by CodeRabbit