Skip to content

ci: publish editor image to GHCR - #771

Open
luisalrp wants to merge 4 commits into
pascalorg:mainfrom
luisalrp:ci/publish-docker-image
Open

ci: publish editor image to GHCR#771
luisalrp wants to merge 4 commits into
pascalorg:mainfrom
luisalrp:ci/publish-docker-image

Conversation

@luisalrp

@luisalrp luisalrp commented Sep 7, 2026

Copy link
Copy Markdown

What does this PR do?

Publishes the official editor Docker image to GHCR as part of the release workflow and updates Docker Compose to consume the published image. Stable releases receive both version and latest tags; beta and recovery releases receive only their version tag. Images are published for amd64 and arm64. Fixes #770.

How to test

  1. Run docker compose config and verify the service uses ghcr.io/pascalorg/editor:latest by default.
  2. Set IMAGE_TAG to a release version and verify Compose uses the versioned image.
  3. Run the release workflow in dry-run mode for stable, beta, and recovery releases and verify only stable releases generate the latest tag.
  4. Verify the Docker build publishes linux/amd64 and linux/arm64 platforms.

Screenshots / screen recording

N/A — non-visual CI and deployment change.

Checklist

  • I've tested this locally with bun dev
  • My code follows the existing code style (run bun check to verify)
  • I've updated relevant documentation (if applicable)
  • This PR targets the main branch

Note

Medium Risk
Release workflow now publishes container artifacts and changes the default deployment path from local builds to GHCR pulls, which depends on registry permissions and public package visibility.

Overview
Editor releases now build and push a multi-arch (linux/amd64, linux/arm64) image to ghcr.io/pascalorg/editor as part of the release workflow when editor or all is selected. The job gets packages: write, logs into GHCR on non–dry-run releases, and tags images with the release version; latest is added only for patch/minor/major bumps (not beta or recovery-style runs). Dry runs still build but do not push or log in.

Docker Compose no longer builds locally—it pulls ghcr.io/pascalorg/editor:${IMAGE_TAG:-latest}. SETUP.md documents IMAGE_TAG and one-time steps to make the GHCR package public for unauthenticated pulls. The Dockerfile adds an org.opencontainers.image.source label for registry metadata.

Reviewed by Cursor Bugbot for commit ba93d72. Bugbot is set up for automated code reviews on this repo. Configure here.

@pascal

pascal Bot commented Sep 7, 2026

Copy link
Copy Markdown

I hit an error while handling your request (Model unavailable on AI Gateway free tier: Free tier users do not have access to this model. Upgrade to paid credits at https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up for unrestricted…).

Please try again, rephrase, or reach out if it keeps failing.

Error id: 8bdf2076-e7df-4ba7-a14d-19a6b7dcc978

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

Comment thread .github/workflows/docker.yml Outdated
Comment thread .github/workflows/docker.yml Outdated
Comment thread .github/workflows/docker.yml Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b10b01d. Configure here.

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
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.

Publish the Docker image to GHCR

1 participant