Skip to content

feat(docker): Add GHCR workflow for backend and frontend package releases#994

Open
kapdon wants to merge 1 commit intomultica-ai:mainfrom
kapdon:codex/docker-ghcr-release-workflow
Open

feat(docker): Add GHCR workflow for backend and frontend package releases#994
kapdon wants to merge 1 commit intomultica-ai:mainfrom
kapdon:codex/docker-ghcr-release-workflow

Conversation

@kapdon
Copy link
Copy Markdown

@kapdon kapdon commented Apr 14, 2026

What does this PR do?

Adds a dedicated GitHub Actions workflow that publishes the backend and frontend Docker images to GitHub Container Registry on the existing v* tag release flow.

Related Issue

Closes #

Type of Change

  • New feature (non-breaking change that adds functionality)
  • CI / infrastructure
  • Bug fix (non-breaking change that fixes an issue)
  • Refactor / code improvement (no behavior change)
  • Documentation update
  • Tests (adding or improving test coverage)

Changes Made

  • Added .github/workflows/docker-release.yml
  • Builds multica-backend from Dockerfile
  • Builds multica-frontend from Dockerfile.web
  • Publishes both images to GHCR on v* tag pushes
  • Tags images with the release version and latest
  • Uses Docker metadata/buildx/login actions with package write permissions

How to Test

  1. Run docker run --rm -v "$PWD":/repo -w /repo rhysd/actionlint:latest
  2. Run docker build -f Dockerfile -t multica-backend:test .
  3. Run docker build -f Dockerfile.web -t multica-frontend:test .
  4. Push a v* tag in a repo with GHCR package publish permissions and confirm both images are published

Checklist

  • I have included a thinking path that traces from project context to this change
  • I have run tests locally and they pass
  • I have added or updated tests where applicable
  • If this change affects the UI, I have included before/after screenshots
  • I have updated relevant documentation to reflect my changes
  • I have considered and documented any risks above
  • I will address all reviewer comments before requesting merge

AI Disclosure

AI tool used: OpenAI Codex CLI

Prompt / approach:
Used a deep-interview clarification pass to lock the registry, trigger, package names, and tag policy, then implemented the smallest additive GHCR release workflow and validated it with actionlint plus local Docker builds for both images.

Screenshots (optional)

N/A

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
multica-web Ignored Ignored Apr 15, 2026 8:55am
multica-web-production Ignored Ignored Apr 15, 2026 8:55am

Request Review

@kapdon kapdon changed the title [codex] Add GHCR workflow for backend and frontend releases feat(docker) Add GHCR workflow for backend and frontend releases Apr 14, 2026
@kapdon kapdon changed the title feat(docker) Add GHCR workflow for backend and frontend releases feat(docker): Add GHCR workflow for backend and frontend package releases Apr 14, 2026
@kapdon kapdon marked this pull request as ready for review April 14, 2026 22:21
Self-hosted deployments already build backend and frontend images from the
repository's Dockerfiles, but release automation only published CLI
artifacts. This adds a dedicated GitHub Actions workflow that publishes
GHCR images for both build targets on the existing v* release cadence
with version and latest tags.

Constraint: Keep docker-compose and self-hosting docs unchanged in this PR
Constraint: Use GitHub Container Registry and the existing v* tag release flow
Rejected: Fold container publishing into the GoReleaser workflow | keeps container concerns separate and reviewable
Rejected: Add SHA image tags | user requested only version aliases and latest
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: If release tagging changes later, update both CLI and Docker release workflows together
Tested: yaml.safe_load on .github/workflows/docker-release.yml
Tested: actionlint via rhysd/actionlint Docker image
Tested: docker build -f Dockerfile -t multica-backend:test .
Tested: docker build -f Dockerfile.web -t multica-frontend:test .
Not-tested: Actual GHCR publish from GitHub Actions on a real v* tag
Not-tested: Multi-arch push execution on GitHub-hosted runners
@kapdon kapdon force-pushed the codex/docker-ghcr-release-workflow branch from d7cfadf to 5ef84c2 Compare April 15, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants