Repository navigation
Docker: OCI labels, hermetic build context, README self-host section - #1038
Merged
Merged
Conversation
- OCI labels on the runtime image (title, description, source, documentation, url, vendor, licenses) so the GHCR package links to the repository, shows its README and declares MIT; the release job stamps version and revision. - `.dockerignore` drops `*.tsbuildinfo`: a stale host file copied into the context made `tsc --build` skip emitting a new module (core's geometry-metadata after #1033) and the image build failed on main. - README "Self-host it" section pointing at SETUP.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d0f798d. Configure here.
| platforms: linux/${{ matrix.arch }} | ||
| labels: | | ||
| org.opencontainers.image.version=${{ needs.release.outputs.version }} | ||
| org.opencontainers.image.revision=${{ github.sha }} |
There was a problem hiding this comment.
Revision label uses trigger SHA
Medium Severity
The org.opencontainers.image.revision label records github.sha, the workflow_dispatch commit, while the image is built from the @pascal-app/cli@* tag checkout. Those commits diverge whenever the release job writes a version-bump commit, and a none republish can label an unrelated later main SHA.
Reviewed by Cursor Bugbot for commit d0f798d. Configure here.
3 of 4 tasks
3 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


What does this PR do?
Prepares the first GHCR publish of
ghcr.io/pascalorg/pascal-editorafter #1032.source(links the GHCR package to this repository, so the package page shows the README and inherits access),documentation,url,vendor,licenses: MIT. The release job also stampsversionandrevision..dockerignorenow drops*.tsbuildinfo. A stale host file copied into the context madetsc --buildtrust it and skip emitting core's newgeometry-metadatamodule (Blender (bpy) modules as a second geometry-script language #1033), sodocker buildon main failed with "Cannot resolve extensionless ESM import ./geometry-metadata". CI never saw it because runners start clean.docker runand a link to SETUP.md.How to test
docker build -t pascal-editor:labels .on this branch succeeds (it fails on main from a checkout that has built locally).docker inspect pascal-editor:labels --format '{{json .Config.Labels}}'shows the sevenorg.opencontainers.image.*labels.docker run -d -p 3000:3000 -e PASCAL_ADMIN_PASSWORD=x -e PASCAL_PUBLIC_URL=http://pascal.test:3000 pascal-editor:labels:/api/health200,/with aHost: pascal.test:3000header redirects to/login.Screenshots / screen recording
N/A — non-visual change
Checklist
bun devbun checkto verify)mainbranch🤖 Generated with Claude Code
Note
Low Risk
Packaging, CI metadata, and documentation only; no application runtime or security logic changes.
Overview
Prepares
ghcr.io/pascalorg/pascal-editorfor GHCR by adding OCI image metadata and tightening the Docker build context.The runtime Dockerfile now sets standard
org.opencontainers.image.*labels (title, description, source/repo link, docs, URL, vendor, MIT license) so the GHCR package page can show README and inherit repo access. The release workflow also stampsversionandrevisionon each per-arch build..dockerignore excludes
*.tsbuildinfoso a stale host incremental-build cache is not copied into the image; without that,tsc --buildcould skip emitting new outputs (e.g. core’sgeometry-metadata) anddocker buildfails locally while CI stays clean.README adds a Self-host it section with a one-line
docker run, env vars (PASCAL_ADMIN_PASSWORD,PASCAL_PUBLIC_URL,/datavolume), and a pointer to SETUP.md.Reviewed by Cursor Bugbot for commit d0f798d. Bugbot is set up for automated code reviews on this repo. Configure here.