From 4fdd5911a6f8fd58dc7d6cb893f97fa8c7fbee3a Mon Sep 17 00:00:00 2001 From: Derrick Marcey Date: Thu, 27 Jun 2019 13:53:08 -0400 Subject: [PATCH] PR Feedback - simplifying action --- action.yml | 3 --- lib/find-ruby.js | 33 +++++---------------------------- lib/main.js | 8 +++++--- src/find-ruby.ts | 38 +++++--------------------------------- src/main.ts | 5 ++--- 5 files changed, 17 insertions(+), 70 deletions(-) diff --git a/action.yml b/action.yml index 2617935..caab347 100644 --- a/action.yml +++ b/action.yml @@ -5,9 +5,6 @@ inputs: version: description: 'Version range or exact version of a Ruby version to use.' default: '>= 2.4' - add-to-path: - description: 'Prepend the retrieved Ruby version to the PATH environment variable to make it available in subsequent actions or scripts without using the output variable.' - default: 'true' runs: using: 'node' diff --git a/lib/find-ruby.js b/lib/find-ruby.js index 5e54444..5624f7b 100644 --- a/lib/find-ruby.js +++ b/lib/find-ruby.js @@ -15,47 +15,24 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", { value: true }); -const core = __importStar(require("@actions/core")); const exec = __importStar(require("@actions/exec")); const tc = __importStar(require("@actions/tool-cache")); -const os = __importStar(require("os")); const path = __importStar(require("path")); -var Platform; -(function (Platform) { - Platform[Platform["Windows"] = 0] = "Windows"; - Platform[Platform["MacOS"] = 1] = "MacOS"; - Platform[Platform["Linux"] = 2] = "Linux"; -})(Platform = exports.Platform || (exports.Platform = {})); -function getPlatform() { - switch (os.platform()) { - case 'win32': - return Platform.Windows; - case 'darwin': - return Platform.MacOS; - case 'linux': - return Platform.Linux; - default: - throw Error('Platform not recognized'); - } -} -exports.getPlatform = getPlatform; -function default_1(inputs, platform) { +const IS_WINDOWS = process.platform === 'win32'; +function default_1(version) { return __awaiter(this, void 0, void 0, function* () { - const installDir = tc.find('Ruby', inputs.version); + const installDir = tc.find('Ruby', version); if (!installDir) { - throw new Error(`Version ${inputs.version} not found`); + throw new Error(`Version ${version} not found`); } const toolPath = path.join(installDir, 'bin'); - if (platform !== Platform.Windows) { + if (!IS_WINDOWS) { // Ruby / Gem heavily use the '#!/usr/bin/ruby' to find ruby, so this task needs to // replace that version of ruby so all the correct version of ruby gets selected // replace the default const dest = '/usr/bin/ruby'; exec.exec('sudo ln', ['-sf', path.join(toolPath, 'ruby'), dest]); // replace any existing } - if (inputs.addToPath === 'true') { - core.addPath(toolPath); - } }); } exports.default = default_1; diff --git a/lib/main.js b/lib/main.js index cace5cf..5e661a5 100644 --- a/lib/main.js +++ b/lib/main.js @@ -14,15 +14,17 @@ var __importStar = (this && this.__importStar) || function (mod) { result["default"] = mod; return result; }; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const core = __importStar(require("@actions/core")); -const find_ruby_1 = __importStar(require("./find-ruby")); +const find_ruby_1 = __importDefault(require("./find-ruby")); function run() { return __awaiter(this, void 0, void 0, function* () { try { const version = core.getInput('version'); - const addToPath = core.getInput('add-to-path'); - yield find_ruby_1.default({ version, addToPath }, find_ruby_1.getPlatform()); + yield find_ruby_1.default(version); } catch (error) { core.setFailed(error.message); diff --git a/src/find-ruby.ts b/src/find-ruby.ts index 4b4c16a..3c6c9ae 100644 --- a/src/find-ruby.ts +++ b/src/find-ruby.ts @@ -1,51 +1,23 @@ -import * as core from '@actions/core'; import * as exec from '@actions/exec'; import * as tc from '@actions/tool-cache'; -import * as os from 'os'; import * as path from 'path'; -export enum Platform { - Windows, - MacOS, - Linux -} +const IS_WINDOWS = process.platform === 'win32'; -export function getPlatform(): Platform { - switch (os.platform()) { - case 'win32': - return Platform.Windows; - case 'darwin': - return Platform.MacOS; - case 'linux': - return Platform.Linux; - default: - throw Error('Platform not recognized'); - } -} - -interface ActionInputs { - version: string; - addToPath: string; -} - -export default async function(inputs: ActionInputs, platform: Platform) { - const installDir: string | null = tc.find('Ruby', inputs.version); +export default async function(version: string) { + const installDir: string | null = tc.find('Ruby', version); if (!installDir) { - throw new Error(`Version ${inputs.version} not found`); + throw new Error(`Version ${version} not found`); } const toolPath: string = path.join(installDir, 'bin'); - if (platform !== Platform.Windows) { + if (!IS_WINDOWS) { // Ruby / Gem heavily use the '#!/usr/bin/ruby' to find ruby, so this task needs to // replace that version of ruby so all the correct version of ruby gets selected // replace the default const dest: string = '/usr/bin/ruby'; exec.exec('sudo ln', ['-sf', path.join(toolPath, 'ruby'), dest]); // replace any existing } - - if (inputs.addToPath === 'true') { - core.addPath(toolPath); - } } diff --git a/src/main.ts b/src/main.ts index 1448289..e0d6d08 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,11 +1,10 @@ import * as core from '@actions/core'; -import findRubyVersion, {getPlatform} from './find-ruby'; +import findRubyVersion from './find-ruby'; async function run() { try { const version = core.getInput('version'); - const addToPath = core.getInput('add-to-path'); - await findRubyVersion({version, addToPath}, getPlatform()); + await findRubyVersion(version); } catch (error) { core.setFailed(error.message); }