feat: Add getOS()
This commit is contained in:
parent
4b6109cfb2
commit
86eb62d73e
5 changed files with 35 additions and 26 deletions
17
__tests__/get-os.test.js
Normal file
17
__tests__/get-os.test.js
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
const getOS = require("../lib/get-os");
|
||||||
|
|
||||||
|
describe("getOS", () => {
|
||||||
|
test("test", () => {
|
||||||
|
expect(getOS("linux")).toBe("Linux");
|
||||||
|
expect(getOS("darwin")).toBe("macOS");
|
||||||
|
});
|
||||||
|
|
||||||
|
test("test exception", () => {
|
||||||
|
expect(() => {
|
||||||
|
getOS("win32");
|
||||||
|
}).toThrowError("Windows is not supported");
|
||||||
|
expect(() => {
|
||||||
|
getOS("centos");
|
||||||
|
}).toThrowError("centos is not supported");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
const wait = require('./wait');
|
|
||||||
const process = require('process');
|
|
||||||
const cp = require('child_process');
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
test('throws invalid number', async() => {
|
|
||||||
await expect(wait('foo')).rejects.toThrow('milleseconds not a number');
|
|
||||||
});
|
|
||||||
|
|
||||||
test('wait 500 ms', async() => {
|
|
||||||
const start = new Date();
|
|
||||||
await wait(500);
|
|
||||||
const end = new Date();
|
|
||||||
var delta = Math.abs(end - start);
|
|
||||||
expect(delta).toBeGreaterThan(450);
|
|
||||||
});
|
|
||||||
|
|
||||||
// shows how the runner will run a javascript action with env / stdout protocol
|
|
||||||
test('test runs', () => {
|
|
||||||
process.env['INPUT_MILLISECONDS'] = 500;
|
|
||||||
const ip = path.join(__dirname, 'index.js');
|
|
||||||
console.log(cp.execSync(`node ${ip}`).toString());
|
|
||||||
})
|
|
||||||
13
lib/get-os.js
Normal file
13
lib/get-os.js
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
function getOS(platform) {
|
||||||
|
if (platform === "linux") {
|
||||||
|
return "Linux";
|
||||||
|
} else if (platform === "darwin") {
|
||||||
|
return "macOS";
|
||||||
|
} else if (platform === "win32") {
|
||||||
|
throw new Error("Windows is not supported");
|
||||||
|
} else {
|
||||||
|
throw new Error(`${platform} is not supported`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = getOS;
|
||||||
|
|
@ -2,6 +2,7 @@ const core = require("@actions/core");
|
||||||
const tc = require("@actions/tool-cache");
|
const tc = require("@actions/tool-cache");
|
||||||
const io = require("@actions/io");
|
const io = require("@actions/io");
|
||||||
const exec = require("@actions/exec");
|
const exec = require("@actions/exec");
|
||||||
|
const getOS = require("./get-os");
|
||||||
const getLatestVersion = require("./get-latest-version");
|
const getLatestVersion = require("./get-latest-version");
|
||||||
|
|
||||||
// most @actions toolkit packages have async methods
|
// most @actions toolkit packages have async methods
|
||||||
|
|
@ -22,9 +23,10 @@ async function run() {
|
||||||
extendedStr = "extended_";
|
extendedStr = "extended_";
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Operating System: ${process.platform}`);
|
const osName = getOS(process.platform);
|
||||||
|
console.log(`Operating System: ${osName}`);
|
||||||
|
|
||||||
const hugoName = `hugo_${extendedStr}${hugoVersion}_Linux-64bit`;
|
const hugoName = `hugo_${extendedStr}${hugoVersion}_${osName}-64bit`;
|
||||||
core.debug(`hugoName: ${hugoName}`);
|
core.debug(`hugoName: ${hugoName}`);
|
||||||
|
|
||||||
const hugoURL = `https://github.com/gohugoio/hugo/releases/download/v${hugoVersion}/${hugoName}.tar.gz`;
|
const hugoURL = `https://github.com/gohugoio/hugo/releases/download/v${hugoVersion}/${hugoName}.tar.gz`;
|
||||||
|
|
|
||||||
2
package-lock.json
generated
2
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "hugo-action",
|
"name": "hugo-action",
|
||||||
"version": "0.1.0",
|
"version": "2.1.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue