Skip to content

Green the native V8 CI lanes: standalone runner, gtest discovery, gatsby (ECO-416) - #133

Merged
Arshia001 merged 2 commits into
eco-416-framework-parityfrom
eco-416-native-cluster-ci
Aug 7, 2026
Merged

Green the native V8 CI lanes: standalone runner, gtest discovery, gatsby (ECO-416)#133
Arshia001 merged 2 commits into
eco-416-framework-parityfrom
eco-416-native-cluster-ci

Conversation

@Arshia001

Copy link
Copy Markdown
Member

Stacked on #132. Greens the native v8-linux / v8-macos lanes, which have been red on every stack branch since the native-parity CI was added in b93913d7 (main never runs these steps, so main stays green). Four independent, pre-existing CI-infra issues — none in EdgeJS runtime code; EdgeJS passes every app on both lanes.

Fixes

1. Standalone runner — deterministic (v8-linux + v8-macos).
The native standalone-build-test target left SYMLINK_TARGET unset, so standalone-build-test.js fell back to its default runner build-edge-quickjs-cli/edge — a QuickJS binary the native V8 job never builds → runner target is not executable. Pin the runner to the native binary, mirroring standalone-build-test-quickjs-native.

2. gtest discovery flake (v8-macos "Build edge").
gtest_discover_tests runs each freshly-built test binary at build time to enumerate cases; on macOS runners that intermittently emits empty JSON → ParseTestList.cmake fails the whole build. CI never runs these gtest binaries via ctest (it uses nodejs_test_harness), so make build now uses DISCOVERY_MODE PRE_TEST, deferring discovery off the build path. Local cmake keeps POST_BUILD (the dedupe custom command still applies, and already no-ops on a missing manifest).

3. gatsby segfault flake (v8-linux framework apps).
gatsby build on the Node.js reference intermittently segfaults in the lmdb native addon. Retry a build up to 3×, but only when the log shows a native crash (SIGSEGV/SIGABRT/SIGBUS/core dumped/worker-signal). A deterministic non-zero build error never matches and is never retried.

4. gatsby hang (v8-macos framework apps).
gatsby build deterministically hangs on macOS runners (gatsby-worker/sharp) and the harness has no build-step timeout, so a retry cannot help. Exclude js-gatsby-* on macOS only, mirroring quickjs-macos. Linux keeps building gatsby with the retry above.

Validation

Caveat on #3: the retry re-runs gatsby build in place (dirty .cache) rather than a fresh checkout; gatsby's incremental build tolerates this. If it proves insufficient, cleaning artifacts between retries is a follow-up.

🤖 Generated with Claude Code

@Arshia001
Arshia001 force-pushed the eco-416-native-cluster-ci branch from 41d7f43 to 21fe794 Compare July 28, 2026 14:41
…sby (ECO-416)

The native-parity CI added in b93913d has been red on every stack branch (main
never ran these steps). Four independent, pre-existing issues in that new CI —
none in EdgeJS runtime code:

1. Standalone (deterministic, v8-linux + v8-macos): the native `standalone-build-test`
   target left SYMLINK_TARGET unset, so standalone-build-test.js fell back to its
   default runner `build-edge-quickjs-cli/edge` — a QuickJS binary the native V8 job
   never builds → "runner target is not executable". Pin the runner to the native
   binary, mirroring standalone-build-test-quickjs-native.

2. gtest discovery (flake, v8-macos "Build edge"): gtest_discover_tests runs each
   freshly-built test binary at build time to enumerate cases; on macOS runners that
   intermittently emits empty JSON → ParseTestList.cmake fails the whole build. CI
   never runs these via ctest (it uses the nodejs_test_harness), so switch `make build`
   to DISCOVERY_MODE PRE_TEST, deferring discovery off the build path. Local `cmake`
   keeps POST_BUILD.

3. gatsby segfault (flake, v8-linux framework apps): `gatsby build` on the Node.js
   reference intermittently segfaults in the lmdb native addon. Retry a build up to
   3x, but only when the log shows a native crash (SIGSEGV/SIGABRT/core dumped/worker
   signal) — a deterministic non-zero build error is never retried.

4. gatsby hang (v8-macos framework apps): `gatsby build` deterministically hangs on
   macOS runners (gatsby-worker/sharp) and the harness has no build-step timeout, so a
   retry cannot help. Exclude js-gatsby-* on macOS only, mirroring quickjs-macos;
   Linux keeps building gatsby with the retry above.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Arshia001
Arshia001 force-pushed the eco-416-native-cluster-ci branch from 21fe794 to a880a8a Compare July 28, 2026 14:57
wasmer main added lib/wild (the wild linker); wasmer-compiler path-depends on
wasmer-wild at lib/wild/libwild, so the source provision must init it or the
C-API/CLI build fails with 'failed to read lib/wild/libwild/Cargo.toml'.
@Arshia001
Arshia001 merged commit dd20006 into main Aug 7, 2026
13 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants