Clean up non-toolcached bundle

This commit is contained in:
Henry Mercer 2023-08-01 18:50:45 +01:00
parent ea47b2ae40
commit f93fb8df6e
3 changed files with 49 additions and 10 deletions

21
lib/setup-codeql.js generated
View file

@ -424,8 +424,12 @@ async function downloadCodeQL(codeqlURL, maybeBundleVersion, maybeCliVersion, ap
const codeqlPath = await toolcache.downloadTool(codeqlURL, dest, authorization, finalHeaders);
const toolsDownloadDurationMs = Math.round(perf_hooks_1.performance.now() - toolsDownloadStart);
logger.debug(`Finished downloading CodeQL bundle to ${codeqlPath} (${toolsDownloadDurationMs} ms).`);
logger.debug("Extracting CodeQL bundle.");
const extractionStart = perf_hooks_1.performance.now();
const codeqlExtracted = await toolcache.extractTar(codeqlPath);
logger.debug(`Finished extracting CodeQL bundle to ${codeqlExtracted}.`);
const extractionMs = Math.round(perf_hooks_1.performance.now() - extractionStart);
logger.debug(`Finished extracting CodeQL bundle to ${codeqlExtracted} (${extractionMs} ms).`);
logger.debug("Cleaning up CodeQL bundle archive.");
try {
await (0, del_1.default)(codeqlPath, { force: true });
logger.debug("Deleted CodeQL bundle archive.");
@ -461,9 +465,22 @@ async function downloadCodeQL(codeqlURL, maybeBundleVersion, maybeCliVersion, ap
const toolcacheVersion = maybeCliVersion?.match(/^[0-9]+\.[0-9]+\.[0-9]+$/)
? `${maybeCliVersion}-${bundleVersion}`
: convertToSemVer(bundleVersion, logger);
logger.debug("Caching CodeQL bundle.");
const codeqlFolder = await toolcache.cacheDir(codeqlExtracted, "CodeQL", toolcacheVersion);
// Safety check to make sure that we don't delete the bundle we're about to use.
if (codeqlFolder !== codeqlExtracted) {
logger.debug("Cleaning up downloaded CodeQL bundle.");
try {
await (0, del_1.default)(codeqlPath, { force: true });
logger.debug("Deleted CodeQL bundle from temporary directory.");
}
catch (e) {
logger.warning("Failed to delete CodeQL bundle from temporary directory.");
}
}
return {
toolsVersion: maybeCliVersion ?? toolcacheVersion,
codeqlFolder: await toolcache.cacheDir(codeqlExtracted, "CodeQL", toolcacheVersion),
codeqlFolder,
toolsDownloadDurationMs,
};
}

File diff suppressed because one or more lines are too long