I fixed the failing Forgejo CI install by removing the GitHub git-commit dependency on
@electron/node-gyp from lock resolution and forcing it through the npm package
@electron/node-gyp@^10.2.0-electron.2 via repository overrides.
@electron/node-gyp: ^10.2.0-electron.2.
bun run sync:docker-workspace.
CI was failing in dependency install with this error:
error: failed to download @electron/node-gyp@github:electron/node-gyp#06b29aa ... 404 Not Found
In this environment, that endpoint is interpreted by the Forgejo git proxy and the short SHA is resolved against an unavailable internal mirror path. For a CI runner, this is a fragile install path.
@electron/node-gyp
on the same npm release and avoids GitHub tarball URL resolution entirely.
@electron/node-gyp@10.2.0-electron.2 with a resolved tarball checksum entry,
which is stable in CI contexts.
diff --git a/package.json b/package.json
@@
"overrides": {
"postcss": "^8.5.15",
"tar": "^7.5.15",
- "tmp": "^0.2.5"
+ "tmp": "^0.2.5",
+ "@electron/node-gyp": "^10.2.0-electron.2"
},
@@
diff --git a/deployment/docker/workspace-root/package.json b/deployment/docker/workspace-root/package.json
@@
"overrides": {
"postcss": "^8.5.15",
"tar": "^7.5.15",
- "tmp": "^0.2.5"
+ "tmp": "^0.2.5",
+ "@electron/node-gyp": "^10.2.0-electron.2"
},
@@
diff --git a/bun.lock b/bun.lock
@@
- "@electron/node-gyp": ["@electron/node-gyp@github:electron/node-gyp#06b29aa", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^8.1.0", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.2.1", "nopt": "^6.0.0", "proc-log": "^2.0.1", "semver": "^7.3.5", "tar": "^6.2.1", "which": "^2.0.2" }, "bin": "./bin/node-gyp.js" }, "electron-node-gyp-06b29aa"],
+ "@electron/node-gyp": ["@electron/node-gyp@10.2.0-electron.2", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^8.1.0", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.2.1", "nopt": "^6.0.0", "proc-log": "^2.0.1", "semver": "^7.3.5", "tar": "^6.2.1", "which": "^2.0.2" }, "bin": { "node-gyp": "bin/node-gyp.js" } }, "sha512-OhO6fwqpetMO1vWI3+J8mb3a4s4A405tgKoUCJsgd4nyQDdFh0VvZm+gj/Cc70iRLQoIYUfSaAgYSVwmLsQHig=="],
@@
diff --git a/deployment/docker/workspace-root/bun.lock b/deployment/docker/workspace-root/bun.lock
@@
- "@electron/node-gyp": ["@electron/node-gyp@github:electron/node-gyp#06b29aa", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^8.1.0", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.2.1", "nopt": "^6.0.0", "proc-log": "^2.0.1", "semver": "^7.3.5", "tar": "^6.2.1", "which": "^2.0.2" }, "bin": "./bin/node-gyp.js" }, "electron-node-gyp-06b29aa"],
+ "@electron/node-gyp": ["@electron/node-gyp@10.2.0-electron.2", "", { "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", "glob": "^8.1.0", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.2.1", "nopt": "^6.0.0", "proc-log": "^2.0.1", "semver": "^7.3.5", "tar": "^6.2.1", "which": "^2.0.2" }, "bin": { "node-gyp": "bin/node-gyp.js" } }, "sha512-OhO6fwqpetMO1vWI3+J8mb3a4s4A405tgKoUCJsgd4nyQDdFh0VvZm+gj/Cc70iRLQoIYUfSaAgYSVwmLsQHig=="],
Note: For this repository-required documentation rule, lockfile snippets were summarized
directly because rendered @pierre/diffs output is very verbose with embedded
style payloads for each file block.
@electron/node-gyp GitHub commit tarball lookups.bun install (lock refresh after override)bun install --frozen-lockfilebun run typecheckbun run check:docker-workspacebun testbun --cwd=apps/web run buildAll checks completed successfully.
@electron/rebuild still references the same GitHub commit in its
dependency metadata, but override forces resolution to the npm package, which is now what the lock
consumes in this repo.
@electron/rebuild if it later publishes a lockfile-safe package-only variant.