ci: Use docker-tags composite action for multi-channel release support #68
No reviewers
Labels
No Label
ai-changes-requested
ai-pr-opened
ai-reviewed
ai-reviewing
ai-working
in-next-release
status/in-progress
status/pr-open
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cal/major-domo-v2#68
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "ci/docker-tags-multi-channel"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
docker-tagscomposite action for centralized tag resolutionnext-releasebranch trigger for RC builds (next-release,<calver>-rc,<calver>-rc-<sha>)mainandnext-releasechannels🤖 Generated with Claude Code
AI Code Review
Files Reviewed
.gitea/workflows/docker-build.yml(modified)Findings
Correctness
push: trueon both dev and production steps, so behavior is preserved — all builds push to Docker Hub."_PR build - image not pushed to Docker Hub_"that was factually wrong (dev builds did push). Removing it is correct.IFS=',' read -ra TAG_ARRAY <<< "${{ steps.tags.outputs.tags }}"— this works correctly assumingdocker-tagsoutputs comma-separated tags, which is consistent with howdocker/build-push-actionconsumes them.pull_requesttrigger still only targetsmain, so PRs-to-next-releasewon't trigger builds. This is correct per the RC-build-on-push design.docker-tagsaction (cal/gitea-actions/docker-tags@main) is an external dependency I can't inspect here. The workflow consumessteps.tags.outputs.tags,steps.tags.outputs.channel, andsteps.tags.outputs.primary_tag— if those outputs aren't defined in the composite action, steps will silently use empty strings. Worth verifying those output names match the action'soutputs:block.Security
DISCORD_WEBHOOK,DOCKERHUB_USERNAME,DOCKERHUB_TOKEN) are all referenced via${{ secrets.* }}. No hardcoded credentials.Style & Conventions
Suggestions
next-releasepush trigger will fire on every push tonext-release(not just merges), which could generate a lot of RC builds during active development. Consider whether this is intentional or if a path filter/manual dispatch would be preferable for that branch.docker-tagscomposite action ever fails or outputs an empty tag list,docker/build-push-actionwithtags: ""will error. No action needed unless you want defensive validation.Verdict: COMMENT
Clean CI refactoring — logic is correct, security is fine, conventions are followed. The main unknown is whether
cal/gitea-actions/docker-tags@mainoutputs exactly the field names consumed here (tags,channel,primary_tag). If that action is already tested and stable, this is ready to merge.Automated review by Claude PR Reviewer