fix: resolve Docker build failures when EE submodule is absent#10
Open
chenchenchenchencj wants to merge 2 commits intomainfrom
Open
fix: resolve Docker build failures when EE submodule is absent#10chenchenchenchencj wants to merge 2 commits intomainfrom
chenchenchenchencj wants to merge 2 commits intomainfrom
Conversation
- Dockerfile: create ee/frontend (not just ee) so COPY doesn't fail - cli/pyproject.toml: remove legacy License classifier conflicting with PEP 639 license expression in newer setuptools - frontend/vite.config.ts: detect EE by checking for routes file instead of just the directory; add Vite stub plugin so Rollup can resolve @EE imports in dead code branches without failing - docker-compose.yml: make host port configurable via APP_PORT env var Closes #7, closes #8, closes #9 Made-with: Cursor
There was a problem hiding this comment.
Pull request overview
Fixes Docker/packaging/frontend build failures when the ee git submodule is not initialized (default Quick Start path), ensuring docker compose build succeeds in OSS-only checkouts.
Changes:
- Ensure the Docker build context always contains
ee/frontendso the frontend stageCOPY --from=contextdoesn’t fail. - Remove the legacy Python license classifier that conflicts with PEP 639 enforcement in newer
setuptools. - Improve frontend EE detection and add a Vite stub plugin so
@ee/*imports can be resolved (and later tree-shaken) when EE is absent. - Make the backend host port configurable via
APP_PORT(default 8000).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Dockerfile | Creates ee/frontend in the context stage to prevent missing-path COPY failures. |
| cli/pyproject.toml | Removes legacy License :: ... classifier to satisfy PEP 639/setuptools validation. |
| frontend/vite.config.ts | Detects EE by presence of routes entrypoint and stubs @ee/* imports when EE isn’t present. |
| docker-compose.yml | Parameterizes published backend port with APP_PORT while keeping the same container port. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The selenium service uses `profiles: ["build"]`, so plain `docker compose build` skips it. Change the documented command to `docker compose --profile build build` and inline the ARM note as a comment for better discoverability. Made-with: Cursor
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.
Summary
Fixes three independent build failures that prevent
docker compose buildfrom succeeding when theeegit submodule is not initialized — which is the default case for users following the Quick Start guide.mkdir -p ee→mkdir -p ee/frontendsoCOPY --from=context /ctx/ee/frontend/doesn't fail on a missing pathLicense :: OSI Approved :: Apache Software Licenseclassifier that conflicts with thelicense = "Apache-2.0"field under PEP 639 (enforced by newer setuptools)routes.tsinstead of just the directory; add a Vite stub plugin (eeStubPlugin) that provides empty modules for@ee/imports, allowing Rollup to resolve them in dead code branches before tree-shaking eliminates themAPP_PORTenv var (defaults to 8000)Closes #7, closes #8, closes #9
Test Plan
docker compose buildsucceeds on a fresh clone (withoutgit submodule init)docker compose up -dstarts backend and serves the web UIdocker compose buildstill succeeds when EE submodule IS initializedAPP_PORT=3000 docker compose up -dcorrectly maps to port 3000Made with Cursor