Merge pull request #3 from actions/users/stfrance/cleanup

Clean up a few things.
This commit is contained in:
Stephen Franceschelli
2019-07-15 16:38:44 -04:00
committed by GitHub
9 changed files with 53 additions and 34 deletions

23
.github/workflows/workflow.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Main workflow
on: [push]
jobs:
run:
name: Run
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
operating-system: [ubuntu-latest, windows-latest]
actions:
- name: Set Node.js 10.x
uses: bryanmacfarlane/node-config@master
with:
version: 10.x
- name: npm install
run: npm install
- name: Lint
run: npm run format-check
- name: npm test
run: npm test

View File

@@ -6,10 +6,11 @@ import path = require('path');
const toolDir = path.join(__dirname, 'runner', 'tools');
const tempDir = path.join(__dirname, 'runner', 'temp');
process.env['AGENT_TOOLSDIRECTORY'] = toolDir;
process.env['RUNNER_TOOLSDIRECTORY'] = toolDir;
process.env['RUNNER_TEMPDIRECTORY'] = tempDir;
import findRubyVersion from '../src/find-ruby';
import {findRubyVersion} from '../src/installer';
describe('find-ruby', () => {
beforeAll(async () => {
@@ -26,22 +27,18 @@ describe('find-ruby', () => {
}
}, 100000);
it('Uses version of ruby installed in cache', async () => {
const rubyDir: string = path.join(toolDir, 'Ruby', '17.0.0', os.arch());
await io.mkdirP(rubyDir);
fs.writeFileSync(`${rubyDir}.complete`, 'hello');
// This will throw if it doesn't find it in the cache (because no such version exists)
await findRubyVersion('17.0.0');
});
it('findRubyVersion throws if cannot find any version of ruby', async () => {
let thrown = false;
try {
await findRubyVersion('>= 2.4');
} catch {
thrown = true;
}
expect(thrown).toBe(true);
});
it('findRubyVersion throws version of ruby is not complete', async () => {
let thrown = false;
const rubyDir: string = path.join(toolDir, 'Ruby', '2.4.6', os.arch());
await io.mkdirP(rubyDir);
try {
await findRubyVersion('>= 2.4');
await findRubyVersion('9.9.9');
} catch {
thrown = true;
}
@@ -52,8 +49,10 @@ describe('find-ruby', () => {
const rubyDir: string = path.join(toolDir, 'Ruby', '2.4.6', os.arch());
await io.mkdirP(rubyDir);
fs.writeFileSync(`${rubyDir}.complete`, 'hello');
await findRubyVersion('>= 2.4');
await findRubyVersion('2.4.6');
const binDir = path.join(rubyDir, 'bin');
expect(process.env['PATH']!.startsWith(`${binDir};`)).toBe(true);
console.log(`binDir: ${binDir}`);
console.log(`PATH: ${process.env['PATH']}`);
expect(process.env['PATH']!.startsWith(`${binDir}`)).toBe(true);
});
});

View File

@@ -8,4 +8,4 @@ inputs:
runs:
using: 'node12'
main: 'lib/main.js'
main: 'lib/setup-ruby.js'

View File

@@ -20,7 +20,7 @@ const exec = __importStar(require("@actions/exec"));
const tc = __importStar(require("@actions/tool-cache"));
const path = __importStar(require("path"));
const IS_WINDOWS = process.platform === 'win32';
function default_1(version) {
function findRubyVersion(version) {
return __awaiter(this, void 0, void 0, function* () {
const installDir = tc.find('Ruby', version);
if (!installDir) {
@@ -37,4 +37,4 @@ function default_1(version) {
core.addPath(toolPath);
});
}
exports.default = default_1;
exports.findRubyVersion = findRubyVersion;

View File

@@ -14,17 +14,14 @@ 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 = __importDefault(require("./find-ruby"));
const installer_1 = require("./installer");
function run() {
return __awaiter(this, void 0, void 0, function* () {
try {
const version = core.getInput('version');
yield find_ruby_1.default(version);
yield installer_1.findRubyVersion(version);
}
catch (error) {
core.setFailed(error.message);

12
package-lock.json generated
View File

@@ -1,30 +1,30 @@
{
"name": "setup-ruby",
"version": "0.0.1",
"version": "0.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@actions/core": {
"version": "file:../../Users/damccorm/Documents/setup-node/toolkit/actions-core-0.0.0.tgz",
"version": "file:C:/Users/damccorm/Documents/setup-node/toolkit/actions-core-0.0.0.tgz",
"integrity": "sha512-58ituSV1rzBMmmsWoFDnrnsT+Wm4kD/u9NgAGbPvZ7rQHWluYtD5bDbIsjDC6rKFuhqytkxDJPsF/TWBdgc/nA==",
"requires": {
"@actions/exit": "^0.0.0"
}
},
"@actions/exec": {
"version": "file:../../Users/damccorm/Documents/setup-node/toolkit/actions-exec-0.0.0.tgz",
"version": "file:C:/Users/damccorm/Documents/setup-node/toolkit/actions-exec-0.0.0.tgz",
"integrity": "sha512-HHObusC4p1RElxIlrrN0sY/cweBYl+jKm3J/XWHPQZMipgJXB/dkVhUfl4KqH3Vim7oM2KjCGSfn+vTYrqVH3A=="
},
"@actions/exit": {
"version": "file:../../Users/damccorm/Documents/setup-node/toolkit/actions-exit-0.0.0.tgz",
"version": "file:C:/Users/damccorm/Documents/setup-node/toolkit/actions-exit-0.0.0.tgz",
"integrity": "sha512-vQdxFWM0/AERkC79mQ886SqPmV4joWhrSF7hiSTiJoKkE9eTjrKV5WQtp7SXv6OntrQkKX+ZjgdGpv+0rvJRCw=="
},
"@actions/io": {
"version": "file:../../Users/damccorm/Documents/setup-node/toolkit/actions-io-0.0.0.tgz",
"version": "file:C:/Users/damccorm/Documents/setup-node/toolkit/actions-io-0.0.0.tgz",
"integrity": "sha512-BArfobXB/b6RjR4i/+P4UcdaqR2tPjEb2WzZf9GdKiSARQn7d301pKOZAqxA+0N11X07Lk46t/txeUBcrCNbeg=="
},
"@actions/tool-cache": {
"version": "file:../../Users/damccorm/Documents/setup-node/toolkit/actions-tool-cache-0.0.0.tgz",
"version": "file:C:/Users/damccorm/Documents/setup-node/toolkit/actions-tool-cache-0.0.0.tgz",
"integrity": "sha512-NavDg5VFXDfbe9TpFuj+uOHacjg1bT3Wmo3DQuul3gsGRBEXyzhh2MWKnBZs/Zh7FE3prLmIqpbtymafNBFkIA==",
"requires": {
"@actions/core": "^0.0.0",

View File

@@ -1,9 +1,9 @@
{
"name": "setup-ruby",
"version": "0.0.1",
"version": "0.0.0",
"private": true,
"description": "setup ruby action",
"main": "lib/main.js",
"main": "lib/setup-ruby.js",
"scripts": {
"build": "tsc",
"format": "prettier --write **/*.ts",

View File

@@ -5,7 +5,7 @@ import * as path from 'path';
const IS_WINDOWS = process.platform === 'win32';
export default async function(version: string) {
export async function findRubyVersion(version: string) {
const installDir: string | null = tc.find('Ruby', version);
if (!installDir) {

View File

@@ -1,5 +1,5 @@
import * as core from '@actions/core';
import findRubyVersion from './find-ruby';
import {findRubyVersion} from './installer';
async function run() {
try {