From 72e3f80a4aad249ec759e818116990eb82b54a05 Mon Sep 17 00:00:00 2001 From: Sergey Dolin Date: Mon, 30 Jan 2023 14:48:41 +0100 Subject: [PATCH] Introduce `isCacheEnabled` In order to hande empty 'cache' input --- src/cache-utils.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/cache-utils.ts b/src/cache-utils.ts index 0faa1c5..a40a205 100644 --- a/src/cache-utils.ts +++ b/src/cache-utils.ts @@ -1,7 +1,12 @@ import * as cache from '@actions/cache'; import * as core from '@actions/core'; import * as exec from '@actions/exec'; -import {supportedPackageManagers, PackageManagerInfo} from './package-managers'; +import { + supportedPackageManagers, + PackageManagerInfo, + getCurrentPackageManager +} from './package-managers'; +import {findDependencyFile} from './cache-restore'; export const getCommandOutput = async (toolCommand: string) => { let {stdout, stderr, exitCode} = await exec.getExecOutput( @@ -73,3 +78,16 @@ export function isCacheFeatureAvailable(): boolean { ); return false; } + +export async function isCacheEnabled() { + const cacheInput = core.getInput('cache'); + if (cacheInput) { + return core.getBooleanInput('cache'); + } + + const packageManager = getCurrentPackageManager(); + const packageManagerInfo = await getPackageManagerInfo(packageManager); + const cachePaths = findDependencyFile(packageManagerInfo); + + return cachePaths.length > 0; +}