diff --git a/src/internal/cacheUtils.ts b/src/internal/cacheUtils.ts index c2ace52..4dd3a61 100644 --- a/src/internal/cacheUtils.ts +++ b/src/internal/cacheUtils.ts @@ -117,8 +117,9 @@ export function getCacheFileName(compressionMethod: CompressionMethod): string { } export async function isGnuTarInstalled(): Promise { + const gnuTar = `${process.env['windir']}\\Program Files\\Git\\usr\\bin\\tar.exe` const versionOutput = await getVersion('tar') - return versionOutput.toLowerCase().includes('gnu tar') + return versionOutput.toLowerCase().includes('gnu tar') || fs.existsSync(gnuTar) } export function assertDefined(name: string, value?: T): T { diff --git a/src/internal/tar.ts b/src/internal/tar.ts index 3b35141..9d5add7 100644 --- a/src/internal/tar.ts +++ b/src/internal/tar.ts @@ -15,7 +15,7 @@ async function getTarPath( case 'win32': { const systemTar = `${process.env['windir']}\\System32\\tar.exe` const gnuTar = `${process.env['windir']}\\Program Files\\Git\\usr\\bin\\tar.exe` - if (compressionMethod !== CompressionMethod.Gzip && existsSync(gnuTar)) { + if (existsSync(gnuTar)) { args.push('--force-local') return gnuTar } else if (compressionMethod !== CompressionMethod.Gzip) {