mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
Nightly/stable mac arm64 and win x64 packaging failed on release/v0.9.0: - mac arm64: the "Verify mac Electron framework symlinks" step exited 1 because node_modules' electron dist had no `Electron Framework.framework`. - win x64: electron-builder failed renaming `electron.exe` -> `Open Design.exe` with ENOENT because `electron.exe` was missing from the same dist. Root cause: pnpm does not reliably materialize Electron's prebuilt dist (a symlinked `.framework` on mac, the unpacked binaries on win) under `node_modules/.pnpm/electron@*/.../dist` on the CI runners. Both failing runs were cache-cold (the win job logged "Cache not found"), and the beta workflow's non-fatal inspect step shows the identical missing framework on a green run — so it is not a GHA-cache or download-speed problem, and it is not reproducible locally. The mac builder never passed `electronDist` and has stayed green because electron-builder downloads its own Electron (~1s for 116 MB on CI). The win and linux builders pinned `electronDist` at the fragile node_modules dist, and stable/preview still ran the old fatal verify step (beta was already relaxed to a non-fatal inspect). This change aligns every platform with the mac approach: - win/linux: drop `electronDist` so electron-builder downloads its own complete Electron for the target platform. - release-stable.yml / release-preview.yml: replace the fatal "Verify mac Electron framework symlinks" step with the non-fatal "Inspect" step already used by release-beta.yml (electron-builder is the source of truth for whether packaging works). Validated: tools-pack typecheck, guard, and the win/linux/win-app/ workspace-build pack test suites all pass. Real win/linux packaging is validated by the release workflow itself. |
||
|---|---|---|
| .. | ||
| actions | ||
| ISSUE_TEMPLATE | ||
| screenshots | ||
| scripts | ||
| workflows | ||
| actionlint.yaml | ||
| pull_request_template.md | ||