diff --git a/lib/index.js b/lib/index.js index 148bf94..6195f03 100644 --- a/lib/index.js +++ b/lib/index.js @@ -6785,12 +6785,13 @@ function downloadAndCache(artifact) { core.debug(`Downloaded ${artifact.checksumUrl} to ${artifactChecksum}`); yield verifyChecksum(artifactZipball, artifact.artifactName, artifactChecksum); core.debug(`Verified checksum of ${artifactZipball}`); - const artifactFolder = os_1.platform.name.startsWith('win') + const extractedPath = os_1.platform.name.startsWith('win') ? yield tc.extractZip(artifactZipball) : yield tc.extractTar(artifactZipball); - core.debug(`Extracted ${artifactZipball} to ${artifactFolder}`); - const actualFolder = fs.readdirSync(artifactFolder)[0]; - const cachedDir = yield tc.cacheDir(actualFolder, TOOL_NAME, artifact.version); + core.debug(`Extracted ${artifactZipball} to ${extractedPath}`); + const archiveName = fs.readdirSync(extractedPath)[0]; + const archivePath = path_1.default.join(extractedPath, archiveName); + const cachedDir = yield tc.cacheDir(archivePath, TOOL_NAME, artifact.version); const rv = resolveBinaryPath(artifact, cachedDir); core.debug(`Cached ${TOOL_NAME} to ${rv}`); return rv; diff --git a/src/release.ts b/src/release.ts index 1255a15..cc5c268 100644 --- a/src/release.ts +++ b/src/release.ts @@ -128,17 +128,14 @@ async function downloadAndCache(artifact: BinaryArtifact): Promise { ); core.debug(`Verified checksum of ${artifactZipball}`); - const artifactFolder = platform.name.startsWith('win') + const extractedPath = platform.name.startsWith('win') ? await tc.extractZip(artifactZipball) : await tc.extractTar(artifactZipball); - core.debug(`Extracted ${artifactZipball} to ${artifactFolder}`); - const actualFolder = fs.readdirSync(artifactFolder)[0]; + core.debug(`Extracted ${artifactZipball} to ${extractedPath}`); + const archiveName = fs.readdirSync(extractedPath)[0]; + const archivePath = path.join(extractedPath, archiveName); - const cachedDir = await tc.cacheDir( - actualFolder, - TOOL_NAME, - artifact.version, - ); + const cachedDir = await tc.cacheDir(archivePath, TOOL_NAME, artifact.version); const rv = resolveBinaryPath(artifact, cachedDir); core.debug(`Cached ${TOOL_NAME} to ${rv}`);