Repository navigation
Fix Docker CI: use GITHUB_TOKEN for GHCR login - #6
Conversation
The GHCR login step used secrets.GHCR_PAT, which was never set in the repo, so every workflow run failed at "Password required" and no image was ever pushed — leaving production on a stale manually-built image. Switch to the built-in GITHUB_TOKEN (job already has packages: write) so no PAT secret is required. Also bump actions/checkout v4 -> v5 to clear the Node 20 deprecation warning. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 53 minutes and 11 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe Docker image workflow is updated to use Docker CI Workflow
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 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.
🧹 Nitpick comments (1)
.github/workflows/docker-image.yml (1)
24-25: 🔒 Security & Privacy | 🔵 TrivialPin action to a commit hash and disable credential persistence.
The
actions/checkoutstep uses a floating version tag (@v5) and leaves Git credentials persisted in the job environment. Per zizmor:
unpinned-uses: Pin to a specific commit SHA to mitigate supply-chain risks.artipacked: Addpersist-credentials: falseto prevent credential leakage through artifacts.- name: Checkout repository uses: actions/checkout@<commit-sha> # v5.0.1 or verified release with: persist-credentials: false🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/docker-image.yml around lines 24 - 25, The Checkout repository step is using a floating actions/checkout version and still persisting Git credentials. Update the workflow’s actions/checkout usage to a fixed commit SHA instead of `@v5`, and add persist-credentials: false under its with block to match the security guidance for this job.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/docker-image.yml:
- Around line 24-25: The Checkout repository step is using a floating
actions/checkout version and still persisting Git credentials. Update the
workflow’s actions/checkout usage to a fixed commit SHA instead of `@v5`, and add
persist-credentials: false under its with block to match the security guidance
for this job.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 060aa8f2-2b5c-44dd-a2a8-b33c27c00124
📒 Files selected for processing (1)
.github/workflows/docker-image.yml
There was a problem hiding this comment.
AI Code Review by LlamaPReview
🎯 TL;DR & Recommendation
Recommendation: Approve with suggestions
This PR fixes a broken Docker CI workflow by replacing the missing GHCR_PAT secret with the built-in GITHUB_TOKEN and bumps actions/checkout to v5, resolving the login failure and clearing a deprecation warning.
🌟 Strengths
- The fix directly addresses the root cause—no new secrets required, and the CI run succeeds.
- Clean, minimal changes with no regressions introduced.
💡 Suggestions (P2)
- .github/workflows/docker-image.yml: The fix correctly replaces the missing
GHCR_PATwithGITHUB_TOKENand aligns the username, resolving the login failure without introducing regressions.
💡 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.
Address PR review: the checkout step persisted a git credential that no downstream step uses (Docker push authenticates via its own GHCR/Docker Hub tokens), so set persist-credentials: false to avoid leaking it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@coderabbitai Addressed the nitpick partially:
|
|
Tip For best results, initiate chat on the files or code changes.
✏️ Learnings added
If you found this review helpful, would you consider giving us a shout-out on X? Thank you for using CodeRabbit! |
Problem
The Docker build workflow has never run successfully — all 3 historical runs failed at the GHCR login step with
##[error]Password required. The step referencedsecrets.GHCR_PAT, which was never added to the repo (onlyDOCKERHUB_USERNAME/DOCKERHUB_TOKENexist). Because no image was ever pushed by CI, production is serving a stale, manually-built image (the old viz).Fix
ghcr.iowith the built-inGITHUB_TOKENinstead of the missingGHCR_PAT. The job already grantspackages: write, so no PAT secret is needed.actions/checkoutv4 → v5 to clear the Node 20 deprecation warning.Validation
push: falsefor pull requests, so it's a safe dry run of the login/build (no image shipped until merged to master).Notes (not addressed here)
app1.py. The Taipy rewrite onrefactor/streamlit-to-taipyis a separate, unmerged change.latestafter merge (verify host auto-redeploys).🤖 Generated with Claude Code
Summary by CodeRabbit