From 3939e16664592d00d9d726aafe27b5d4ce82d318 Mon Sep 17 00:00:00 2001 From: Ashcon Partovi Date: Wed, 11 Sep 2024 09:45:42 -0700 Subject: [PATCH] Fix build.mjs (#13893) --- cmake/tools/SetupZig.cmake | 2 +- scripts/build.mjs | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/cmake/tools/SetupZig.cmake b/cmake/tools/SetupZig.cmake index ab8ae4e5a7..33be81ac19 100644 --- a/cmake/tools/SetupZig.cmake +++ b/cmake/tools/SetupZig.cmake @@ -122,7 +122,7 @@ file(ARCHIVE_EXTRACT INPUT ${ZIG_BIN_CACHE_DIR}/${ZIG_FILENAME} DESTINATION ${ZI file(REMOVE ${ZIG_BIN_CACHE_DIR}/${ZIG_FILENAME}) file(COPY ${ZIG_BIN_CACHE_DIR}/${ZIG_NAME}/${ZIG_EXE} DESTINATION ${ZIG_BIN_CACHE_DIR}) file(REMOVE_RECURSE ${ZIG_BIN_CACHE_DIR}/${ZIG_NAME}) -file(CHMOD ${ZIG_BIN_CACHE_DIR}/${ZIG_EXE} PERMISSIONS OWNER_EXECUTE) +file(CHMOD ${ZIG_BIN_CACHE_DIR}/${ZIG_EXE} PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE) setx(CMAKE_ZIG_COMPILER ${ZIG_BIN_CACHE_DIR}/${ZIG_EXE}) if(NOT WIN32) diff --git a/scripts/build.mjs b/scripts/build.mjs index fe42d1e82b..0da0628291 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -1,7 +1,7 @@ #!/usr/bin/env node import { spawn as nodeSpawn } from "node:child_process"; -import { existsSync, readFileSync, readdirSync, mkdirSync, cpSync } from "node:fs"; +import { existsSync, readFileSync, readdirSync, mkdirSync, cpSync, chmodSync } from "node:fs"; import { join, relative, resolve } from "node:path"; // https://cmake.org/cmake/help/latest/manual/cmake.1.html#generate-a-project-buildsystem @@ -62,18 +62,20 @@ async function build(args) { mkdirSync(cachePath, { recursive: true }); try { cpSync(mainCachePath, cachePath, { recursive: true, force: true }); - } catch (err) { - switch (err?.code) { + } catch (error) { + const { code } = error; + switch (code) { case "EPERM": case "EACCES": try { chmodSync(mainCachePath, 0o777); - } catch (e2) {} - - cpSync(mainCachePath, cachePath, { recursive: true, force: true }); + cpSync(mainCachePath, cachePath, { recursive: true, force: true }); + } catch (error) { + console.warn("Failed to copy cache with permissions fix", error); + } break; default: - throw err; + console.warn("Failed to copy cache", error); } } } @@ -127,7 +129,11 @@ async function build(args) { } if (isBuildkite()) { - await Promise.all(buildArtifacts.map(path => spawn("buildkite-agent", ["artifact", "upload", relative(buildPath, path)], { cwd: buildPath, env }))); + await Promise.all( + buildArtifacts.map(path => + spawn("buildkite-agent", ["artifact", "upload", relative(buildPath, path)], { cwd: buildPath, env }), + ), + ); } }