mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
commit
6f350ca848
8 changed files with 388 additions and 654 deletions
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
|
@ -8,14 +8,16 @@ on:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
name: Build on ${{ matrix.os }} / Node.js v${{ matrix.nodejs }}
|
||||
name: Build
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- Windows-latest
|
||||
- macOS-latest
|
||||
- Ubuntu-latest
|
||||
- Windows-2019
|
||||
- macOS-10.15
|
||||
- Ubuntu-16.04
|
||||
- Ubuntu-18.04
|
||||
- Ubuntu-20.04
|
||||
nodejs:
|
||||
- 12
|
||||
fail-fast: false
|
||||
|
|
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## [2.1.0] - 2020-08-15
|
||||
|
||||
### Changed
|
||||
|
||||
* Append LF to `known_hosts` / `config` (thanks [@jacktuck](https://github.com/jacktuck))
|
||||
|
||||
### Fixed
|
||||
|
||||
* Typo (thanks [@psbss](https://github.com/psbss))
|
||||
|
||||
## [2.0.3] - 2020-06-06
|
||||
|
||||
### Added
|
||||
|
@ -113,7 +123,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
|
||||
* First release.
|
||||
|
||||
[Unreleased]: https://github.com/shimataro/ssh-key-action/compare/v2.0.3...HEAD
|
||||
[Unreleased]: https://github.com/shimataro/ssh-key-action/compare/v2.1.0...HEAD
|
||||
[2.1.0]: https://github.com/shimataro/ssh-key-action/compare/v2.0.3...v2.1.0
|
||||
[2.0.3]: https://github.com/shimataro/ssh-key-action/compare/v2.0.2...v2.0.3
|
||||
[2.0.2]: https://github.com/shimataro/ssh-key-action/compare/v2.0.1...v2.0.2
|
||||
[2.0.1]: https://github.com/shimataro/ssh-key-action/compare/v2.0.0...v2.0.1
|
||||
|
|
|
@ -88,7 +88,7 @@ Check below:
|
|||
* OPENSSH format (key begins with `-----BEGIN OPENSSH PRIVATE KEY-----`) may not work.
|
||||
* Use PEM format (begins with `-----BEGIN RSA PRIVATE KEY-----`). Convert it from OPENSSH format using `ssh-keygen -p -m PEM -f ~/.ssh/id_rsa`
|
||||
* `Host key verification failed.`:
|
||||
* Set `known_hosts` option correctly (use `ssh-keyscan` command).
|
||||
* Set `known_hosts` parameter correctly (use `ssh-keyscan` command).
|
||||
|
||||
### How do I use encrypted SSH key?
|
||||
|
||||
|
|
17
lib/main.js
17
lib/main.js
|
@ -43,7 +43,7 @@ function main() {
|
|||
},
|
||||
{
|
||||
name: "known_hosts",
|
||||
contents: prependLf(core.getInput("known_hosts", {
|
||||
contents: insertLf(core.getInput("known_hosts", {
|
||||
required: true,
|
||||
})),
|
||||
options: {
|
||||
|
@ -53,7 +53,7 @@ function main() {
|
|||
},
|
||||
{
|
||||
name: "config",
|
||||
contents: prependLf(core.getInput("config")),
|
||||
contents: insertLf(core.getInput("config")),
|
||||
options: {
|
||||
mode: 0o644,
|
||||
flag: "a",
|
||||
|
@ -103,16 +103,23 @@ function getHomeEnv() {
|
|||
return "HOME";
|
||||
}
|
||||
/**
|
||||
* prepend LF to value if not empty
|
||||
* prepend/append LF to value if not empty
|
||||
* @param value the value to prepend LF
|
||||
* @returns prepended value
|
||||
*/
|
||||
function prependLf(value) {
|
||||
function insertLf(value) {
|
||||
let affectedValue = value;
|
||||
if (value.length === 0) {
|
||||
// do nothing if empty
|
||||
return "";
|
||||
}
|
||||
return `\n${value}`;
|
||||
if (!affectedValue.startsWith("\n")) {
|
||||
affectedValue = `\n${affectedValue}`;
|
||||
}
|
||||
if (!affectedValue.endsWith("\n")) {
|
||||
affectedValue = `${affectedValue}\n`;
|
||||
}
|
||||
return affectedValue;
|
||||
}
|
||||
main();
|
||||
//# sourceMappingURL=main.js.map
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,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,KAAK,EAAE;oBAC9B,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,EAAE;oBAChD,QAAQ,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,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,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,YAAE,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,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,YAAE,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"}
|
||||
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
962
package-lock.json
generated
962
package-lock.json
generated
File diff suppressed because it is too large
Load diff
16
package.json
16
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "install-ssh-key",
|
||||
"version": "2.0.3",
|
||||
"version": "2.1.0",
|
||||
"private": true,
|
||||
"description": "Install SSH key in .ssh",
|
||||
"main": "lib/main.js",
|
||||
|
@ -34,14 +34,14 @@
|
|||
"@actions/core": "1.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "14.0.11",
|
||||
"@typescript-eslint/eslint-plugin": "3.1.0",
|
||||
"@typescript-eslint/parser": "3.1.0",
|
||||
"eslint": "7.2.0",
|
||||
"markdownlint-cli": "0.23.1",
|
||||
"npm-check-updates": "6.0.1",
|
||||
"@types/node": "14.0.27",
|
||||
"@typescript-eslint/eslint-plugin": "3.9.0",
|
||||
"@typescript-eslint/parser": "3.9.0",
|
||||
"eslint": "7.7.0",
|
||||
"markdownlint-cli": "0.23.2",
|
||||
"npm-check-updates": "7.1.1",
|
||||
"npm-run-all": "4.1.5",
|
||||
"typescript": "3.9.5",
|
||||
"typescript": "3.9.7",
|
||||
"yaml-lint": "1.2.4"
|
||||
}
|
||||
}
|
||||
|
|
20
src/main.ts
20
src/main.ts
|
@ -30,7 +30,7 @@ function main(): void
|
|||
},
|
||||
{
|
||||
name: "known_hosts",
|
||||
contents: prependLf(core.getInput("known_hosts", {
|
||||
contents: insertLf(core.getInput("known_hosts", {
|
||||
required: true,
|
||||
})),
|
||||
options: {
|
||||
|
@ -40,7 +40,7 @@ function main(): void
|
|||
},
|
||||
{
|
||||
name: "config",
|
||||
contents: prependLf(core.getInput("config")),
|
||||
contents: insertLf(core.getInput("config")),
|
||||
options: {
|
||||
mode: 0o644,
|
||||
flag: "a",
|
||||
|
@ -104,19 +104,29 @@ function getHomeEnv(): string
|
|||
}
|
||||
|
||||
/**
|
||||
* prepend LF to value if not empty
|
||||
* prepend/append LF to value if not empty
|
||||
* @param value the value to prepend LF
|
||||
* @returns prepended value
|
||||
*/
|
||||
function prependLf(value: string): string
|
||||
function insertLf(value: string): string
|
||||
{
|
||||
let affectedValue = value;
|
||||
|
||||
if(value.length === 0)
|
||||
{
|
||||
// do nothing if empty
|
||||
return "";
|
||||
}
|
||||
if(!affectedValue.startsWith("\n"))
|
||||
{
|
||||
affectedValue = `\n${affectedValue}`;
|
||||
}
|
||||
if(!affectedValue.endsWith("\n"))
|
||||
{
|
||||
affectedValue = `${affectedValue}\n`;
|
||||
}
|
||||
|
||||
return `\n${value}`;
|
||||
return affectedValue;
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue