fix(ci): align Node v22.22.3 pins and unblock pre-push tests
All checks were successful
Tests / test (push) Successful in 1m8s

Sync install scripts and CI container image with NODE_VERSION, regenerate
Electron Config.html, and skip gitignored portable/app in origin scan.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-18 18:47:41 +08:00
parent dd8e0f55c3
commit 08f22edf44
15 changed files with 201 additions and 25 deletions

View File

@@ -8,6 +8,8 @@ const repoRoot = fileURLToPath(new URL('..', import.meta.url));
const origin = JSON.parse(readFileSync(join(repoRoot, 'origin.json'), 'utf8'));
const SKIPPED_DIRS = new Set(['.git', 'node_modules', 'dist', '.download-cache', 'tests']);
// portable/app/ is gitignored — setup downloads Node/OpenClaw there for local runs.
const SKIPPED_PATH_PREFIXES = ['portable/app/'];
// Lockfiles are full of third-party funding and repository links. They say
// nothing about where *this* build fetches from.
const SKIPPED_FILES = new Set(['package-lock.json']);
@@ -17,6 +19,8 @@ function* walk(dir) {
for (const entry of readdirSync(dir)) {
if (SKIPPED_DIRS.has(entry)) continue;
const full = join(dir, entry);
const rel = relative(repoRoot, full);
if (rel === 'portable/app' || SKIPPED_PATH_PREFIXES.some((p) => rel.startsWith(p))) continue;
if (statSync(full).isDirectory()) yield* walk(full);
else yield full;
}