@@ -67473,6 +67473,8 @@ function cacheDir(ccacheVariant) {
6747367473
6747467474
6747567475
67476+ const CCACHE_VERSION = "4.12.2";
67477+ const SCCACHE_VERSION = "v0.12.0";
6747667478const SELF_CI = external_process_namespaceObject.env["CCACHE_ACTION_CI"] === "true";
6747767479function getPackageManagerError(error) {
6747867480 return (`Failed to install ccache via package manager: '${error}'. ` +
@@ -67584,34 +67586,64 @@ async function installCcacheLinux() {
6758467586 throw Error("Can't install ccache automatically under this platform, please install it yourself before using this action.");
6758567587}
6758667588async function installCcacheWindows() {
67587- await installCcacheFromGitHub("4.9", "windows-x86_64",
67589+ let packageName;
67590+ let sha256;
67591+ switch (external_process_namespaceObject.arch) {
67592+ case "x64":
67593+ packageName = "windows-x86_64";
67594+ sha256 = "bd73f405e3e80c7f0081ee75dbf9ee44dee64ecfbc3d4316e9a4ede4832f2e41";
67595+ break;
67596+ case "arm64":
67597+ packageName = "windows-aarch64";
67598+ sha256 = "9881a3acf40a5b22eff1c1650b335bd7cf56cf66a6c05cb7d0f53f19b43054f8";
67599+ break;
67600+ default:
67601+ throw new Error(`Unsupported architecture: ${external_process_namespaceObject.arch}`);
67602+ }
67603+ await installCcacheFromGitHub(packageName,
6758867604 // sha256sum of ccache.exe
67589- "cf18d274a54b49dcd77f6c289c26eeb89d180cb8329711e607478ed5ef74918c" ,
67605+ sha256 ,
6759067606 // TODO find a better place
6759167607 `${external_process_namespaceObject.env.USERPROFILE}\\.cargo\\bin`, "ccache.exe");
6759267608}
6759367609async function installSccacheMac() {
6759467610 await execShell("brew install sccache");
6759567611}
6759667612async function installSccacheLinux() {
67597- let packageName ;
67613+ let packageArch ;
6759867614 let sha256;
6759967615 switch (external_process_namespaceObject.arch) {
6760067616 case "x64":
67601- packageName = "x86_64-unknown-linux-musl ";
67602- sha256 = "c205ba0911ce383e90263df8d83e445becccfff1bc0bb2e69ec57d1aa3090a4b ";
67617+ packageArch = "x86_64";
67618+ sha256 = "e381a9675f971082a522907b8381c1054777ea60511043e4c67de5dfddff3029 ";
6760367619 break;
6760467620 case "arm64":
67605- packageName = "aarch64-unknown-linux-musl ";
67606- sha256 = "8df5d557b50aa19c1c818b1a6465454a9dd807917af678f3feae11ee5c9dbe27 ";
67621+ packageArch = "aarch64";
67622+ sha256 = "2f9a8af7cea98e848f92e865a6d5062cfb8c91feeef17417cdd43276b4c7d8af ";
6760767623 break;
6760867624 default:
6760967625 throw new Error(`Unsupported architecture: ${external_process_namespaceObject.arch}`);
6761067626 }
67611- await installSccacheFromGitHub("v0.10.0", packageName, sha256, "/usr/local/bin/", "sccache");
67627+ let packageName = `${packageArch}-unknown-linux-musl`;
67628+ await installSccacheFromGitHub(packageName, sha256, "/usr/local/bin/", "sccache");
6761267629}
6761367630async function installSccacheWindows() {
67614- await installSccacheFromGitHub("v0.10.0", "x86_64-pc-windows-msvc", "f3eff6014d973578498dbabcf1510fec2a624043d4035e15f2dc660fb35200d7",
67631+ let packageArch;
67632+ let sha256;
67633+ switch (external_process_namespaceObject.arch) {
67634+ case "x64":
67635+ packageArch = "x86_64";
67636+ sha256 = "b0236d379a66b22f6bc9e944adb5b354163015315c3a2aaf7803ce2add758fcd";
67637+ break;
67638+ case "arm64":
67639+ packageArch = "aarch64";
67640+ sha256 = "0254597932dcc4fa85f67ac149be29941b96a19f8b1bb0bf71b24640641ab987";
67641+ break;
67642+ default:
67643+ throw new Error(`Unsupported architecture: ${external_process_namespaceObject.arch}`);
67644+ }
67645+ let packageName = `${packageArch}-pc-windows-msvc`;
67646+ await installSccacheFromGitHub(packageName, sha256,
6761567647 // TODO find a better place
6761667648 `${external_process_namespaceObject.env.USERPROFILE}\\.cargo\\bin`, "sccache.exe");
6761767649}
@@ -67621,17 +67653,17 @@ async function execShell(cmd) {
6762167653async function execShellSudo(cmd) {
6762267654 await execShell("$(which sudo) " + cmd);
6762367655}
67624- async function installCcacheFromGitHub(version, artifactName, binSha256, binDir, binName) {
67625- const archiveName = `ccache-${version }-${artifactName}`;
67626- const url = `https://github.com/ccache/ccache/releases/download/v${version }/${archiveName}.zip`;
67656+ async function installCcacheFromGitHub(artifactName, binSha256, binDir, binName) {
67657+ const archiveName = `ccache-${CCACHE_VERSION }-${artifactName}`;
67658+ const url = `https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION }/${archiveName}.zip`;
6762767659 const binPath = external_path_default().join(binDir, binName);
6762867660 await downloadAndExtract(url, external_path_default().join(archiveName, binName), binPath);
6762967661 checkSha256Sum(binPath, binSha256);
6763067662 lib_core.addPath(binDir);
6763167663}
67632- async function installSccacheFromGitHub(version, artifactName, binSha256, binDir, binName) {
67633- const archiveName = `sccache-${version }-${artifactName}`;
67634- const url = `https://github.com/mozilla/sccache/releases/download/${version }/${archiveName}.tar.gz`;
67664+ async function installSccacheFromGitHub(artifactName, binSha256, binDir, binName) {
67665+ const archiveName = `sccache-${SCCACHE_VERSION }-${artifactName}`;
67666+ const url = `https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION }/${archiveName}.tar.gz`;
6763567667 const binPath = external_path_default().join(binDir, binName);
6763667668 await downloadAndExtract(url, `*/${binName}`, binPath);
6763767669 checkSha256Sum(binPath, binSha256);
0 commit comments