ci: e2e job overlaying fresh server build on nightly image#30
Conversation
c8e362c to
18faa56
Compare
chrip
left a comment
There was a problem hiding this comment.
The e2e workflow is well designed and addresses a real need (server-only CI feedback). But the PR contains a lot of redundant changes that are already on main — the branch was created before those were merged. Please rebase on main to drop them, leaving only e2e.yml.
Redundant changes (already on main):
eslint.config.js: react/react-hooks config is already present.prettierignore: AiIntegration entries are already therepackage.json:eslint-plugin-reactandeslint-plugin-react-hooksalready in devDepsnpm-shrinkwrap.json: auto-generated changes from above- Color changes (
#0082C9→#0082c9): already normalized on main webpack.config.js: formatting changes already on main- All the
.module.scssfiles: color changes already merged
e2e workflow — verified correct:
sedreplacement ofbuildVersionincommondefines.jsmatches current format (const buildVersion = '4.1.2';) ✓buildVersionstamp is necessary: docservice rejects editors with differing versions (DocsCoServer.js:2776) ✓- pkg builds for DocService, FileConverter, Metrics ✓
- Overlay Dockerfile correctly discovers install path via
sdkjsdir ✓ - Nightly version extraction from
api/documents/api.js✓ - E2E checkout fallback logic (branch → main) ✓
- AdminPanel webpack client intentionally not overlaid ✓
Suggestion: Consider npm ci instead of npm install in the build step for reproducible builds.
chrip
left a comment
There was a problem hiding this comment.
The e2e workflow is well designed and addresses a real need (server-only CI feedback). But the PR contains a lot of redundant changes that are already on main — the branch was created before those were merged. Please rebase on main to drop them, leaving only e2e.yml.
Redundant changes (already on main):
eslint.config.js: react/react-hooks config is already present.prettierignore: AiIntegration entries are already therepackage.json:eslint-plugin-reactandeslint-plugin-react-hooksalready in devDepsnpm-shrinkwrap.json: auto-generated changes from above- Color changes (
#0082C9→#0082c9): already normalized on main webpack.config.js: formatting changes already on main- All the
.module.scssfiles: color changes already merged
e2e workflow — verified correct:
sedreplacement ofbuildVersionincommondefines.jsmatches current format (const buildVersion = '4.1.2';) ✓buildVersionstamp is necessary: docservice rejects editors with differing versions (DocsCoServer.js:2776) ✓- pkg builds for DocService, FileConverter, Metrics ✓
- Overlay Dockerfile correctly discovers install path via
sdkjsdir ✓ - Nightly version extraction from
api/documents/api.js✓ - E2E checkout fallback logic (branch → main) ✓
- AdminPanel webpack client intentionally not overlaid ✓
Suggestion: Consider npm ci instead of npm install in the build step for reproducible builds.
Builds the pkg service binaries and overlays them onto ghcr.io/euro-office/documentserver:nightly, then runs the DocumentServer Playwright e2e suite for fast full-stack feedback. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Julius Knorr <jus@bitgrid.net>
docservice rejects an editor whose buildVersion differs from its own, leaving the document loading mask up. Mirror the bake's commondefines.js sed with the version read from the nightly image so the fresh docservice matches the nightly editor. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Julius Knorr <jus@bitgrid.net>
Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Julius Knorr <jus@bitgrid.net>
42c5770 to
504a4ad
Compare
|
That is a lot of text for just requiring a rebase 😁 Did that, just relevant pieces left as it was based on #28 |
Adds an
e2eworkflow that builds the server binaries, overlays them ontoghcr.io/euro-office/documentserver:nightly, and runs the DocumentServer Playwright e2e suite against it. Full-stack feedback on a server change without rebuilding core/sdkjs/web-apps.How it works
PRODUCT_VERSIONit was built with.commondefines.js(mirroring the bake), then pkg-builds the service binaries (docservice,fileconverter,metrics).server/DocService/docservice,server/FileConverter/converter,server/Metrics/metrics); install path discovered via thesdkjsdir. Runs the e2e suite fromEuro-Office/DocumentServer(matching branch, fallbackmain).Notes
buildVersiondiffers from its own, so the fresh docservice must carry the nightly image version — hence thecommondefines.jsstamp.Verified green against the current nightly.