From 35f7ebbad0234620f4127ddd19e38ed0f7da7dec Mon Sep 17 00:00:00 2001 From: Michael Heap Date: Thu, 7 Dec 2023 13:42:02 +0000 Subject: [PATCH] Make Reviewdog path an input --- action.yml | 5 +++++ lib/input.js | 2 +- lib/install.js | 8 +++++--- src/input.ts | 2 +- src/install.ts | 9 ++++++--- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/action.yml b/action.yml index a04a0d85..d48c08ee 100644 --- a/action.yml +++ b/action.yml @@ -55,6 +55,11 @@ inputs: required: false default: "" + reviewdog_url: + description: "The URL to a tar.gz build of reviewdog to use in the action" + required: false + default: "" + token: description: "The GitHub token to use." required: false diff --git a/lib/input.js b/lib/input.js index 914c2c68..08b3dcf8 100644 --- a/lib/input.js +++ b/lib/input.js @@ -69,7 +69,7 @@ function get(tok, dir) { yield exec.exec('gem', ['install', 'asciidoctor', '--user-install']); logIfDebug('`gem install asciidoctor --user-install` complete'); const localVale = yield (0, install_1.installLint)(core.getInput('version')); - const localReviewDog = yield (0, install_1.installReviewDog)("0.15.0"); + const localReviewDog = yield (0, install_1.installReviewDog)("0.15.0", core.getInput('reviewdog_url')); const valeFlags = core.getInput("vale_flags"); let version = ''; yield exec.exec(localVale, ['-v'], { diff --git a/lib/install.js b/lib/install.js index 5ca3203c..03f381e9 100644 --- a/lib/install.js +++ b/lib/install.js @@ -65,10 +65,12 @@ function installLint(version) { }); } exports.installLint = installLint; -function installReviewDog(version) { +function installReviewDog(version, url) { return __awaiter(this, void 0, void 0, function* () { core.info(`Installing ReviewDog version '${version}' ...`); - const url = `https://github.com/reviewdog/reviewdog/releases/download/v${version}/reviewdog_${version}_Linux_x86_64.tar.gz`; + if (!url) { + url = `https://github.com/reviewdog/reviewdog/releases/download/v${version}/reviewdog_${version}_Linux_x86_64.tar.gz`; + } const archivePath = yield tc.downloadTool(url); let extractedDir = ''; const args = ['xz']; @@ -77,7 +79,7 @@ function installReviewDog(version) { } extractedDir = yield tc.extractTar(archivePath, process.env.HOME, args); const reviewdogPath = path_1.default.join(extractedDir, `reviewdog`); - core.info(`Installed version '${version}' into '${reviewdogPath}'.`); + core.info(`Installed reviewdog from '${url}' into '${reviewdogPath}'.`); return reviewdogPath; }); } diff --git a/src/input.ts b/src/input.ts index b61d20e8..7490eb32 100644 --- a/src/input.ts +++ b/src/input.ts @@ -58,7 +58,7 @@ export async function get(tok: string, dir: string): Promise { logIfDebug('`gem install asciidoctor --user-install` complete'); const localVale = await installLint(core.getInput('version')); - const localReviewDog = await installReviewDog("0.15.0"); + const localReviewDog = await installReviewDog("0.15.0", core.getInput('reviewdog_url')); const valeFlags = core.getInput("vale_flags"); let version = ''; diff --git a/src/install.ts b/src/install.ts index 06727ed9..1026b574 100644 --- a/src/install.ts +++ b/src/install.ts @@ -31,10 +31,13 @@ export async function installLint(version: string): Promise { return lintPath; } -export async function installReviewDog(version: string): Promise { +export async function installReviewDog(version: string, url?: string): Promise { core.info(`Installing ReviewDog version '${version}' ...`); - const url = `https://github.com/reviewdog/reviewdog/releases/download/v${version}/reviewdog_${version}_Linux_x86_64.tar.gz`; + if (!url){ + url = `https://github.com/reviewdog/reviewdog/releases/download/v${version}/reviewdog_${version}_Linux_x86_64.tar.gz`; + } + const archivePath = await tc.downloadTool(url); let extractedDir = ''; @@ -47,7 +50,7 @@ export async function installReviewDog(version: string): Promise { extractedDir = await tc.extractTar(archivePath, process.env.HOME, args); const reviewdogPath = path.join(extractedDir, `reviewdog`); - core.info(`Installed version '${version}' into '${reviewdogPath}'.`); + core.info(`Installed reviewdog from '${url}' into '${reviewdogPath}'.`); return reviewdogPath; }