Conversation
📝 WalkthroughWalkthroughA new GitHub Actions workflow is added that automatically publishes Docker images to GitHub Container Registry when version tags are pushed. The workflow handles authentication, extracts semantic versioning metadata, builds images with layer caching via Docker Buildx, and generates provenance attestations. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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-publish.yml (1)
37-41: The explicitlatesttag here is redundant (and won't activate anyway).The condition
enable={{is_default_branch}}evaluates tofalseon tag-triggered events, so line 41 won't emitlatest. However, this doesn't actually break the workflow—thetype=semverrules above automatically generatelatestby default in docker/metadata-action. The explicit line is unnecessary duplication with a dead condition. Clean it up by removing it entirely:Suggested fix
tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} - type=raw,value=latest,enable={{is_default_branch}}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/docker-publish.yml around lines 37 - 41, Remove the redundant explicit latest tag entry from the docker metadata tags block: delete the line with "type=raw,value=latest,enable={{is_default_branch}}" under the tags key because the type=semver rules already generate latest and the enable conditional is false for tag-triggered events; ensure you leave the other semver tag lines intact and preserve YAML indentation/formatting for the tags list.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/docker-publish.yml:
- Around line 37-41: Remove the redundant explicit latest tag entry from the
docker metadata tags block: delete the line with
"type=raw,value=latest,enable={{is_default_branch}}" under the tags key because
the type=semver rules already generate latest and the enable conditional is
false for tag-triggered events; ensure you leave the other semver tag lines
intact and preserve YAML indentation/formatting for the tags list.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: f91e902b-0e54-4d37-a4ae-94e6380914d1
📒 Files selected for processing (1)
.github/workflows/docker-publish.yml
Adds a GitHub Actions workflow to build and push a Docker image to GHCR on every version tag.
v*tags (same asrelease.yml, fully independent)ghcr.io/jrswab/axewithx.y.z,x.y,x, andlatesttagsGITHUB_TOKEN— no extra secrets neededCloses #26
Summary
This PR introduces a GitHub Actions workflow that automatically builds and publishes Docker images to GitHub Container Registry whenever a version tag is pushed. The workflow uses
GITHUB_TOKENfor authentication (eliminating the need for additional secrets), generates multiple image tags for semantic versioning, implements layer caching for improved build performance, and includes artifact attestation for supply chain security. This addresses the need to provide pre-built Docker images for users who prefer not to build locally.Changelog
Added