ci(e2e): rebuild native modules for Electron's ABI so the smoke suite launches - #2
Merged
Merged
Conversation
… launches Root cause of the always-red e2e-smoke job: `npm ci` builds better-sqlite3 for Node (NODE_MODULE_VERSION 137), but the suite launches `electron .` (Electron 41, ABI 145) against the repo root. The main process's synchronous initializeStorage() threw while loading the mismatched .node binary, the app.whenReady() chain rejected BEFORE createWindow(), and every spec timed out at electronApplication.firstWindow (30s) — deterministic, not flaky. Add `npx electron-rebuild -f` after the package step so repo-root native modules match Electron's ABI (electron-forge's package step only rebuilds its own bundled copy, never repo-root). Verified locally: reproduced the exact 137-vs-145 NODE_MODULE_VERSION error by rebuilding for Node, and both smoke specs pass (13/13) once rebuilt for Electron. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013nbxSeU5FDHmFY3A1akRgE
CMolG
added a commit
that referenced
this pull request
Jul 10, 2026
…e on code (#7) Ejecuta la tarea de backlog 2026-07-08-chats-to-flow-steps (F0–F5): - Window type 'chat' RETIRADO (desktop.ts); migración perezosa v19 (tombstone, no crash de boards guardados) + v20 (rename HUD widget). El auto-chat es un panel fijo del HUD (HudAutoChatPanel), caja de intent one-shot vía meta-agent assemblePipeline → insertPipelineAssembly — sin agent-manager, sin edición de código por construcción. - Gesto mono-step: doble-click en canvas vacío crea un step con input enfocado (pendingStepFocusId) + streaming; Cmd+N y "New Step" del context-menu igual. - 6 lanzadores de flows (BacklogKanban executeCard/auto-architect, FlowDeck, BacklogCardModal, AgentSessions, App Cmd+N) re-cableados: materializan al board + run por harness, ya NO abren chat (criterio #1 cumplido). - Helms en steps: rol único (Single Persona, listbox/aria-selected), mods attached; input directo + adjuntos @file (FileContextBuilder reciclado); nota de autoridad de ejecución (validateStepAtoms veto visible). - StepRunEvidence gana transcript real (react-markdown + remark-gfm, tool-call cards, file-change chips → diff viewer); degrada con gracia donde el harness no emite datos estructurados (follow-up: evento FileChanged). - Market: MarketFlow.steps[] estructurado (superset de PipelineAssemblyStep), "Add to board" construye el assembly directo → insertPipelineAssembly; AttachableFlow/RightFlowAttachment retirados. Re-firma diferida. - Barrido de muerto: AgenticChatApp, MessageRenderer, SlashCommandHandler, TextToFlowWidget borrados (agent-manager CONSERVADO: FlowsEditor aún lo usa). Gates: vitest 1615/1615 · tsc 0 · eslint 0 err · e2e desktop.spec.ts sin regresiones (19 fallos pre-existentes idénticos a origin/main) · context-menus verde · new-features recuperado 25→9 (los 9 = tests e2e del panel auto-chat, non-CI, feature cubierta por unit tests — follow-up de persist/rehidratación). Backlog #2 completo. Las 3 tareas del backlog (rebranding, context-modes, chats→steps) entregadas. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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
Stabilizes the always-red
e2e-smokeCI job. Root cause was a native-module ABI mismatch, not flakiness.npm cibuildsbetter-sqlite3for Node (NODE_MODULE_VERSION 137), but the suite launcheselectron .(Electron 41, ABI 145) against the repo root.initializeStorage()threw while loading the mismatched.node; theapp.whenReady()chain rejected beforecreateWindow(), so every spec timed out atelectronApplication.firstWindow(30s) — deterministic, on both retries.electron-forge packageonly rebuilds its own bundled copy, never repo-root — so nothing fixed the repo-root ABI the suite actually loads.Fix: add
npx electron-rebuild -fin thee2e-smokejob (afterpackage, before running the suite) so repo-root native modules match Electron's ABI.Verification
NODE_MODULE_VERSION 137 vs 145error locally by rebuildingbetter-sqlite3for Node and launching Electron.E2E smoke (ubuntu, xvfb): success.Kept as a soft gate (
continue-on-error) for now, per the job's own note about accruing green runs before making it blocking.🤖 Generated with Claude Code
https://claude.ai/code/session_013nbxSeU5FDHmFY3A1akRgE