ci: switch to tag-based Docker builds #110
No reviewers
Labels
No Label
ai-changes-requested
ai-failed
ai-pr-opened
ai-reviewed
ai-reviewing
ai-working
ai-working
bug
enhancement
feature
in-queue
performance
security
tech-debt
todo
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cal/paper-dynasty-discord#110
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "ci/tag-based-docker-builds"
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
Adopts the Major Domo "build on tag" CI pattern. Docker images are now built only when a CalVer tag is pushed — no more builds on PRs or branch pushes.
Changes
push.tags: ['20*']only (removes branch push + PR triggers)calver,docker-tags,gitea-tagreusable actions)<version>+production(removes dev/rc/stable channel logic)How to release
What's removed
next-releasebranch triggersUnchanged
ruff-lint.yml— still runs on PRs as a quality gateAI Code Review
Files Reviewed
.gitea/workflows/docker-build.yml(modified)CLAUDE.md(modified)Findings
Correctness
VERSION=${GITHUB_REF#refs/tags/}correctly strips therefs/tags/prefix to yield the bare tag (e.g.,2026.3.42). Standard pattern, no issues.manticorum67/paper-dynasty-discordapp:<version>+productionare correct — immutable version tag plus a rollingproductionpointer that deployment can track.version,commit_sha, andtimestampparams that the success notification includes. When a build fails the version is already extracted (step runs before Docker build), so the info is available. Minor cosmetic gap — failure alerts would benefit from the same context for debugging. Not a blocker since thediscord-notifyaction presumably accepts these as optional.Security
GITHUB_REFis a CI-controlled env var — no injection risk. Secrets remain properly referenced via${{ secrets.* }}.Style & Conventions
'20*'is intentionally broad (matches any tag starting with "20"). Acceptable for an operator-controlled repo — no risk of accidental triggers beyond unusual manual tagging.YYYY.MM.BUILDtoYYYY.M.BUILD(single-digit month), consistent with actual CalVer examples used in commands (2026.3.42). Correct.Suggestions
version,commit_sha, andtimestampto match the success notification. Useful when debugging a failed build to know exactly which tag triggered it.Verdict: COMMENT
Clean simplification. Removes reusable action dependencies (
calver,docker-tags,gitea-tag) in favour of a single inline version-extraction step. Logic is correct, security is sound, CLAUDE.md updated accurately. Posting as COMMENT since Gitea blocks self-approval.Automated review by Claude PR Reviewer
Reviewed by pd-ops (Claude). Changes are correct and match the Major Domo tag-based CI pattern.
push.tags: ['20*']only${GITHUB_REF#refs/tags/}is clean, removes calver/docker-tags/gitea-tag reusable actions<version>+productioncorrectApproved to merge.
Reviewed and approved by pd-ops (Claude). Tag-based CI conversion is correct — matches Major Domo pattern, removes calver/docker-tags/gitea-tag reusable actions, keeps build cache and ruff-lint, updates CLAUDE.md.