Browse Source

fix(e2e): force-exit seed process to prevent 30-minute CI timeout

The seed-e2e.ts script hangs after Instance.disposeAll() because
BootstrapRuntime and per-service ManagedRuntime instances (created
via the shared memoMap during InstanceBootstrap) hold scoped Effect
resources that keep the event loop alive. This causes e2e-local.ts
to wait forever on `await seed.exited`, preventing Playwright tests
from ever starting — resulting in the 30-minute CI timeout on both
Linux and Windows.

Closes #22051

https://claude.ai/code/session_01AhcEdoukx4YJqHfMYZo5NH
Claude 4 months ago
parent
commit
c30b565012
1 changed files with 5 additions and 0 deletions
  1. 5 0
      packages/opencode/script/seed-e2e.ts

+ 5 - 0
packages/opencode/script/seed-e2e.ts

@@ -58,3 +58,8 @@ const seed = async () => {
 }
 
 await seed()
+// Force-exit: BootstrapRuntime and per-service ManagedRuntime instances
+// (created via the shared memoMap during InstanceBootstrap) hold scoped
+// resources that keep the event loop alive even after Instance.disposeAll().
+// The seed script only writes data, so an explicit exit is safe.
+process.exit(0)