From fc872ec4d1f30ee7bfe1b91411e3c1ef3e7d0ac7 Mon Sep 17 00:00:00 2001 From: Matthew Hughes Date: Thu, 8 Feb 2024 11:05:57 +0000 Subject: [PATCH] squash! Avoid Toolchain download before cache download Also handle lookups on cache restore --- src/cache-restore.ts | 4 +++- src/cache-utils.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/cache-restore.ts b/src/cache-restore.ts index 183df9e..8256034 100644 --- a/src/cache-restore.ts +++ b/src/cache-restore.ts @@ -16,7 +16,9 @@ export const restoreCache = async ( const packageManagerInfo = await getPackageManagerInfo(packageManager); const platform = process.env.RUNNER_OS; - const cachePaths = await getCacheDirectoryPath(packageManagerInfo); + const cachePaths = await getCacheDirectoryPath(packageManagerInfo, { + env: {...process.env, GOTOOLCHAIN: 'local'} + }); const dependencyFilePath = cacheDependencyPath ? cacheDependencyPath diff --git a/src/cache-utils.ts b/src/cache-utils.ts index 545c97a..c5a718c 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -3,11 +3,14 @@ import * as core from '@actions/core'; import * as exec from '@actions/exec'; import {supportedPackageManagers, PackageManagerInfo} from './package-managers'; -export const getCommandOutput = async (toolCommand: string) => { +export const getCommandOutput = async ( + toolCommand: string, + execOpts?: exec.ExecOptions +) => { let {stdout, stderr, exitCode} = await exec.getExecOutput( toolCommand, undefined, - {ignoreReturnCode: true} + {...execOpts, ignoreReturnCode: true} ); if (exitCode) { @@ -32,11 +35,12 @@ export const getPackageManagerInfo = async (packageManager: string) => { }; export const getCacheDirectoryPath = async ( - packageManagerInfo: PackageManagerInfo + packageManagerInfo: PackageManagerInfo, + execOpts?: exec.ExecOptions ) => { const pathOutputs = await Promise.allSettled( packageManagerInfo.cacheFolderCommandList.map(async command => - getCommandOutput(command) + getCommandOutput(command, execOpts) ) );