From 88c1b7fb894659acc2845facd71b83432055a364 Mon Sep 17 00:00:00 2001 From: Robert Brignull Date: Tue, 12 May 2020 16:58:02 +0100 Subject: [PATCH] provide a better error when codeql fails to download --- lib/setup-tools.js | 22 ++++++++++++++-------- src/setup-tools.ts | 22 ++++++++++++++-------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/lib/setup-tools.js b/lib/setup-tools.js index 5dbb9a9c75..8d9463500d 100644 --- a/lib/setup-tools.js +++ b/lib/setup-tools.js @@ -37,15 +37,21 @@ exports.CodeQLSetup = CodeQLSetup; async function setupCodeQL() { const version = '1.0.0'; const codeqlURL = core.getInput('tools', { required: true }); - let codeqlFolder = toolcache.find('CodeQL', version); - if (codeqlFolder) { - core.debug(`CodeQL found in cache ${codeqlFolder}`); + try { + let codeqlFolder = toolcache.find('CodeQL', version); + if (codeqlFolder) { + core.debug(`CodeQL found in cache ${codeqlFolder}`); + } + else { + const codeqlPath = await toolcache.downloadTool(codeqlURL); + const codeqlExtracted = await toolcache.extractTar(codeqlPath); + codeqlFolder = await toolcache.cacheDir(codeqlExtracted, 'CodeQL', version); + } + return new CodeQLSetup(path.join(codeqlFolder, 'codeql')); } - else { - const codeqlPath = await toolcache.downloadTool(codeqlURL); - const codeqlExtracted = await toolcache.extractTar(codeqlPath); - codeqlFolder = await toolcache.cacheDir(codeqlExtracted, 'CodeQL', version); + catch (e) { + core.error(e); + throw new Error("Unable to download and extract CodeQL CLI"); } - return new CodeQLSetup(path.join(codeqlFolder, 'codeql')); } exports.setupCodeQL = setupCodeQL; diff --git a/src/setup-tools.ts b/src/setup-tools.ts index 6f42583200..0e12744212 100644 --- a/src/setup-tools.ts +++ b/src/setup-tools.ts @@ -32,13 +32,19 @@ export async function setupCodeQL(): Promise { const version = '1.0.0'; const codeqlURL = core.getInput('tools', { required: true }); - let codeqlFolder = toolcache.find('CodeQL', version); - if (codeqlFolder) { - core.debug(`CodeQL found in cache ${codeqlFolder}`); - } else { - const codeqlPath = await toolcache.downloadTool(codeqlURL); - const codeqlExtracted = await toolcache.extractTar(codeqlPath); - codeqlFolder = await toolcache.cacheDir(codeqlExtracted, 'CodeQL', version); + try { + let codeqlFolder = toolcache.find('CodeQL', version); + if (codeqlFolder) { + core.debug(`CodeQL found in cache ${codeqlFolder}`); + } else { + const codeqlPath = await toolcache.downloadTool(codeqlURL); + const codeqlExtracted = await toolcache.extractTar(codeqlPath); + codeqlFolder = await toolcache.cacheDir(codeqlExtracted, 'CodeQL', version); + } + return new CodeQLSetup(path.join(codeqlFolder, 'codeql')); + + } catch (e) { + core.error(e); + throw new Error("Unable to download and extract CodeQL CLI"); } - return new CodeQLSetup(path.join(codeqlFolder, 'codeql')); }