Skip to content

test: Build e2e native modules with clang on Linux - #1408

Closed
timfish wants to merge 1 commit into
getsentry:masterfrom
timfish:test/e2e-clang
Closed

test: Build e2e native modules with clang on Linux#1408
timfish wants to merge 1 commit into
getsentry:masterfrom
timfish:test/e2e-clang

Conversation

@timfish

@timfish timfish commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

The E2E Tests (ubuntu-22.04, 43.2.0, *) jobs fail (see #1398) because electron-rebuild cannot compile @sentry/node-native-stacktrace against the Electron 43 headers with GCC.

Electron 43 ships V8 15.0, where v8::String::Value is now marked with a class-level V8_DEPRECATED(...) (v8-primitive.h:655):

class V8_DEPRECATED(
    "Prefer using String::ValueView if you can, or string->Write to a "
    "buffer if you cannot.") V8_EXPORT Value {

node-gyp compiles addons with -DV8_DEPRECATION_WARNINGS=1, so this expands to class [[deprecated("…")]] __attribute__((visibility("default"))) Value — a C++11 attribute mixed with a GNU attribute in a class head. GCC ≤ 12 cannot parse this construct (in either attribute order); GCC 13+ and clang accept it. The ubuntu-22.04 runners default to GCC 11, hence Linux-only failures.

This sets CC/CXX to clang (preinstalled on the runners) for the e2e job. Switching the runner to ubuntu-24.04 (GCC 13.3) would also fix the compile, but 24.04 breaks the native crash tests (#1332).

A follow-up fix in @sentry/node-native-stacktrace (e.g. stripping V8_DEPRECATION_WARNINGS in binding.gyp) is needed so end users building the ANR native module against Electron ≥ 43 with stock GCC ≤ 12 (Ubuntu 22.04 / Debian 12) aren't hit by the same failure.

@timfish

timfish commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Closing in favour of a fix in @sentry/node-native-stacktrace itself.

@timfish timfish closed this Jul 28, 2026
@timfish
timfish deleted the test/e2e-clang branch July 28, 2026 12:09
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.

1 participant