From d2da28e76c08d6f979d9f7059f113d1109be4b12 Mon Sep 17 00:00:00 2001 From: shimataro Date: Sat, 18 Jan 2020 10:19:30 +0900 Subject: [PATCH] * add libs --- lib/main.js | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ lib/main.js.map | 1 + 2 files changed, 102 insertions(+) create mode 100644 lib/main.js create mode 100644 lib/main.js.map diff --git a/lib/main.js b/lib/main.js new file mode 100644 index 0000000..1360411 --- /dev/null +++ b/lib/main.js @@ -0,0 +1,101 @@ +"use strict"; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs = __importStar(require("fs")); +const path = __importStar(require("path")); +const core = __importStar(require("@actions/core")); +/** + * main function + */ +function main() { + try { + const files = [ + { + name: core.getInput("name"), + contents: core.getInput("private-key", { + required: true, + }), + options: { + mode: 0o400, + flag: "ax", + }, + }, + { + name: "known_hosts", + contents: prependLf(core.getInput("known-hosts")), + options: { + mode: 0o644, + flag: "a", + }, + }, + { + name: "config", + contents: prependLf(core.getInput("config")), + options: { + mode: 0o644, + flag: "a", + }, + }, + ]; + // create ".ssh" directory + const home = getHomeDirectory(); + const dirName = path.resolve(home, ".ssh"); + fs.mkdirSync(dirName, { + recursive: true, + mode: 0o700, + }); + // create files + for (const file of files) { + const fileName = path.join(dirName, file.name); + fs.writeFileSync(fileName, file.contents, file.options); + } + console.log(`SSH key has been stored to ${dirName} successfully.`); + } + catch (err) { + core.setFailed(err.message); + } +} +/** + * get home directory + * @returns home directory + */ +function getHomeDirectory() { + const homeEnv = getHomeEnv(); + const home = process.env[homeEnv]; + if (home === undefined) { + throw Error(`${homeEnv} is not defined`); + } + return home; +} +/** + * get HOME environment name + * @returns HOME environment name + */ +function getHomeEnv() { + if (process.platform === "win32") { + // Windows + return "USERPROFILE"; + } + // macOS / Linux + return "HOME"; +} +/** + * prepend LF to value if not empty + * @param value the value to prepend LF + * @returns prepended value + */ +function prependLf(value) { + if (value.length === 0) { + // do nothing if empty + return ""; + } + return `\n${value}`; +} +main(); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/lib/main.js.map b/lib/main.js.map new file mode 100644 index 0000000..6148a6d --- /dev/null +++ b/lib/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAE7B,oDAAsC;AAStC;;GAEG;AACH,SAAS,IAAI;IAEZ,IACA;QACC,MAAM,KAAK,GAAe;YACzB;gBACC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;oBACtC,QAAQ,EAAE,IAAI;iBACd,CAAC;gBACF,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI;iBACV;aACD;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACjD,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,GAAG;iBACT;aACD;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC5C,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,GAAG;iBACT;aACD;SACD,CAAC;QAEF,0BAA0B;QAC1B,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YACrB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;QAEH,eAAe;QACf,KAAI,MAAM,IAAI,IAAI,KAAK,EACvB;YACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACxD;QAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,gBAAgB,CAAC,CAAC;KACnE;IACD,OAAM,GAAG,EACT;QACC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC5B;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB;IAExB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAG,IAAI,KAAK,SAAS,EACrB;QACC,MAAM,KAAK,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU;IAElB,IAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC/B;QACC,UAAU;QACV,OAAO,aAAa,CAAC;KACrB;IAED,gBAAgB;IAChB,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAa;IAE/B,IAAG,KAAK,CAAC,MAAM,KAAK,CAAC,EACrB;QACC,sBAAsB;QACtB,OAAO,EAAE,CAAC;KACV;IAED,OAAO,KAAK,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,IAAI,EAAE,CAAC"} \ No newline at end of file