fix(release): unblock Linux electron builds and stop AUR outages failing releases - #3561
Merged
Merged
Conversation
…ing releases Since the Electron 35->43 upgrade (#3478) every Linux electron build fails: apps/desktop moved to better-sqlite3 ^13 but apps/server still pinned ^12.11.1, and electron-builder rebuilds every copy of the module it finds in the workspace. v12 compiles against raw V8 headers, which GCC rejects under Electron 43 (v8config.h "expected identifier before __attribute__"), so all six electron-linux-* variants have been red since v0.18.13. Converge apps/server on better-sqlite3 ^13.0.2 (same as desktop). v13 is built on N-API via node-addon-api, so it no longer compiles against V8 headers at all - immune to this class of breakage. Server usage is plain prepare/get/readonly, unchanged across v12->v13. Also mark aur-publish continue-on-error: v0.18.14's rerun failed only because aur.archlinux.org was down for maintenance; a community-channel outage should not mark an otherwise-published release run as failed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
benjaminshafii
approved these changes
Aug 5, 2026
reachjalil
added a commit
that referenced
this pull request
Aug 5, 2026
…version backfill (#3563) * fix(server): make opencode-db work on both Bun and Node under better-sqlite3 v13 The v13 convergence (#3561) broke three things this fixes: 1. better-sqlite3 v13's N-API binding hard-panics Bun (NAPI FATAL ERROR: Error::New napi_get_last_error_info) - and bun test loads it via opencode-db's top-level import, killing the whole server suite. The Daytona worker runtime also ships openwork-server as a bun-compiled binary, so the panic would hit production sandboxes at runtime. opencode-db now selects its driver lazily at call time: bun:sqlite under Bun, better-sqlite3 under Node/Electron. 2. v13 under Node rejects ?N numbered parameters bound positionally (RangeError: Too many parameter values were provided) - bun:sqlite accepts them, so bun-driven CI could never catch it. All statements now use anonymous ? placeholders, verified on both drivers. 3. The Daytona snapshot image build compiles better-sqlite3 from source (pnpm's implicit node-gyp build for packages with a binding.gyp) and node:22-bookworm-slim has no toolchain: "gyp ERR! Could not find any Python installation". Add python3/make/g++ to the builder stage. Verified locally: bun test apps/server green (panic reproduced on unpatched dev), node smoke of every statement shape against v13. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * chore: bump version to 0.18.15 --------- Co-authored-by: Claude Opus 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.
Why
Every release since v0.18.13 has failed. Two independent causes:
1. All six
electron-linux-*builds fail to compilebetter-sqlite3.The Electron 35→43 upgrade (#3478) bumped
apps/desktoptobetter-sqlite3 ^13but leftapps/serveron^12.11.1. electron-builder rebuilds every copy of the module in the workspace, and v12 compiles against raw V8 headers — which GCC rejects under Electron 43 (v8config.h: expected identifier before '__attribute__'). clang (macOS) and MSVC (Windows) tolerate it, which is why only Linux went red.2.
Publish AURfails on external outages.The v0.18.14 rerun failed solely because aur.archlinux.org was down for maintenance ("The AUR is down due to maintenance"). A community-channel outage shouldn't mark an otherwise-published release as failed.
What
apps/serveronbetter-sqlite3 ^13.0.2(same as desktop → one copy in the tree). v13 is an N-API rewrite (node-addon-api), so it no longer touches V8 headers at all — structurally immune to this class of breakage. Server usage is plainprepare/get/readonly, unchanged across v12→v13.bindingsdep removed).aur-publish:continue-on-error: truewith a comment explaining why.Verification
pnpm-lock.yamlhas zerobetter-sqlite3@12references; allbetter-auth/drizzlepeer chains re-resolved to 13.0.2.Release Apprun — this PR is the prerequisite for cutting v0.18.15.🤖 Generated with Claude Code