mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
Merge branch 'development' into feature/stars
This commit is contained in:
commit
03b1d6ce85
19 changed files with 2522 additions and 339 deletions
305
.eslintrc.yml
Normal file
305
.eslintrc.yml
Normal file
|
@ -0,0 +1,305 @@
|
||||||
|
# https://eslint.org/
|
||||||
|
env: # https://eslint.org/docs/user-guide/configuring#specifying-environments
|
||||||
|
es6: true
|
||||||
|
node: true
|
||||||
|
extends:
|
||||||
|
- eslint:recommended
|
||||||
|
- plugin:@typescript-eslint/eslint-recommended
|
||||||
|
- plugin:@typescript-eslint/recommended
|
||||||
|
plugins:
|
||||||
|
- import
|
||||||
|
- "@typescript-eslint"
|
||||||
|
parser: "@typescript-eslint/parser"
|
||||||
|
parserOptions:
|
||||||
|
sourceType: module
|
||||||
|
project: ./tsconfig.json
|
||||||
|
rules: # https://eslint.org/docs/rules/
|
||||||
|
accessor-pairs: error
|
||||||
|
array-bracket-newline: error
|
||||||
|
array-bracket-spacing:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
array-callback-return: error
|
||||||
|
arrow-body-style: 'off'
|
||||||
|
arrow-parens:
|
||||||
|
- error
|
||||||
|
- always
|
||||||
|
arrow-spacing:
|
||||||
|
- error
|
||||||
|
- after: true
|
||||||
|
before: true
|
||||||
|
block-scoped-var: error
|
||||||
|
block-spacing: error
|
||||||
|
brace-style:
|
||||||
|
- error
|
||||||
|
- allman
|
||||||
|
callback-return: error
|
||||||
|
capitalized-comments: 'off'
|
||||||
|
class-methods-use-this: error
|
||||||
|
comma-dangle:
|
||||||
|
- error
|
||||||
|
- always-multiline
|
||||||
|
comma-spacing:
|
||||||
|
- error
|
||||||
|
- after: true
|
||||||
|
before: false
|
||||||
|
comma-style:
|
||||||
|
- error
|
||||||
|
- last
|
||||||
|
complexity:
|
||||||
|
- error
|
||||||
|
computed-property-spacing:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
consistent-return: 'off'
|
||||||
|
consistent-this: error
|
||||||
|
curly: error
|
||||||
|
default-case: 'off'
|
||||||
|
dot-location:
|
||||||
|
- error
|
||||||
|
- property
|
||||||
|
dot-notation:
|
||||||
|
- error
|
||||||
|
- allowKeywords: true
|
||||||
|
eol-last: error
|
||||||
|
eqeqeq: error
|
||||||
|
for-direction: error
|
||||||
|
func-call-spacing: error
|
||||||
|
func-name-matching: error
|
||||||
|
func-names:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
func-style:
|
||||||
|
- error
|
||||||
|
- declaration
|
||||||
|
function-paren-newline: error
|
||||||
|
generator-star-spacing: error
|
||||||
|
getter-return: error
|
||||||
|
global-require: error
|
||||||
|
guard-for-in: error
|
||||||
|
handle-callback-err: error
|
||||||
|
id-blacklist: error
|
||||||
|
id-length: 'off'
|
||||||
|
id-match: error
|
||||||
|
implicit-arrow-linebreak:
|
||||||
|
- error
|
||||||
|
- below
|
||||||
|
indent:
|
||||||
|
- error
|
||||||
|
- tab
|
||||||
|
indent-legacy: 'off'
|
||||||
|
init-declarations: error
|
||||||
|
jsx-quotes: error
|
||||||
|
key-spacing: error
|
||||||
|
keyword-spacing:
|
||||||
|
- error
|
||||||
|
- overrides:
|
||||||
|
if:
|
||||||
|
after: false
|
||||||
|
for:
|
||||||
|
after: false
|
||||||
|
while:
|
||||||
|
after: false
|
||||||
|
catch:
|
||||||
|
after: false
|
||||||
|
with:
|
||||||
|
after: false
|
||||||
|
line-comment-position: 'off'
|
||||||
|
linebreak-style:
|
||||||
|
- error
|
||||||
|
- unix
|
||||||
|
lines-around-comment: 'off'
|
||||||
|
lines-around-directive: error
|
||||||
|
lines-between-class-members:
|
||||||
|
- error
|
||||||
|
- always
|
||||||
|
max-depth: error
|
||||||
|
max-len: 'off'
|
||||||
|
max-lines: 'off'
|
||||||
|
max-nested-callbacks: error
|
||||||
|
max-params: 'off'
|
||||||
|
max-statements: 'off'
|
||||||
|
max-statements-per-line: error
|
||||||
|
multiline-comment-style:
|
||||||
|
- error
|
||||||
|
- separate-lines
|
||||||
|
multiline-ternary: error
|
||||||
|
new-cap: error
|
||||||
|
new-parens: error
|
||||||
|
newline-after-var: 'off'
|
||||||
|
newline-before-return: 'off'
|
||||||
|
no-alert: error
|
||||||
|
no-array-constructor: error
|
||||||
|
no-await-in-loop: error
|
||||||
|
no-bitwise: error
|
||||||
|
no-buffer-constructor: error
|
||||||
|
no-caller: error
|
||||||
|
no-catch-shadow: error
|
||||||
|
no-confusing-arrow: error
|
||||||
|
no-continue: 'off'
|
||||||
|
no-div-regex: error
|
||||||
|
no-duplicate-imports: error
|
||||||
|
no-else-return: 'off'
|
||||||
|
no-empty-function: 'off'
|
||||||
|
no-eq-null: error
|
||||||
|
no-eval: error
|
||||||
|
no-extend-native: error
|
||||||
|
no-extra-bind: error
|
||||||
|
no-extra-label: error
|
||||||
|
no-extra-parens: error
|
||||||
|
no-floating-decimal: error
|
||||||
|
no-implicit-coercion: error
|
||||||
|
no-implicit-globals: error
|
||||||
|
no-implied-eval: error
|
||||||
|
no-inline-comments: 'off'
|
||||||
|
no-invalid-this: error
|
||||||
|
no-iterator: error
|
||||||
|
no-label-var: error
|
||||||
|
no-labels: error
|
||||||
|
no-lonely-if: error
|
||||||
|
no-loop-func: error
|
||||||
|
no-magic-numbers: 'off'
|
||||||
|
no-mixed-operators: error
|
||||||
|
no-mixed-requires: error
|
||||||
|
no-multi-assign: error
|
||||||
|
no-multi-spaces: error
|
||||||
|
no-multi-str: error
|
||||||
|
no-multiple-empty-lines:
|
||||||
|
- error
|
||||||
|
- max: 1
|
||||||
|
no-native-reassign: error
|
||||||
|
no-negated-condition: error
|
||||||
|
no-negated-in-lhs: error
|
||||||
|
no-nested-ternary: error
|
||||||
|
no-new: error
|
||||||
|
no-new-func: error
|
||||||
|
no-new-object: error
|
||||||
|
no-new-require: error
|
||||||
|
no-new-wrappers: error
|
||||||
|
no-octal-escape: error
|
||||||
|
no-param-reassign: 'off'
|
||||||
|
no-path-concat: error
|
||||||
|
no-plusplus: 'off'
|
||||||
|
no-process-env: 'off'
|
||||||
|
no-process-exit: error
|
||||||
|
no-proto: error
|
||||||
|
no-prototype-builtins: 'off'
|
||||||
|
no-restricted-globals: error
|
||||||
|
no-restricted-imports: error
|
||||||
|
no-restricted-modules: error
|
||||||
|
no-restricted-properties: error
|
||||||
|
no-restricted-syntax: error
|
||||||
|
no-return-assign: error
|
||||||
|
no-return-await: error
|
||||||
|
no-script-url: error
|
||||||
|
no-self-compare: error
|
||||||
|
no-sequences: error
|
||||||
|
no-shadow: error
|
||||||
|
no-shadow-restricted-names: error
|
||||||
|
no-spaced-func: error
|
||||||
|
no-sync: 'off'
|
||||||
|
no-tabs: 'off'
|
||||||
|
no-template-curly-in-string: error
|
||||||
|
no-ternary: error
|
||||||
|
no-throw-literal: error
|
||||||
|
no-trailing-spaces: error
|
||||||
|
no-undef-init: error
|
||||||
|
no-undefined: 'off'
|
||||||
|
no-underscore-dangle: 'off'
|
||||||
|
no-unmodified-loop-condition: error
|
||||||
|
no-unneeded-ternary: error
|
||||||
|
no-unused-expressions: error
|
||||||
|
no-use-before-define: 'off'
|
||||||
|
no-useless-call: error
|
||||||
|
no-useless-computed-key: error
|
||||||
|
no-useless-concat: error
|
||||||
|
no-useless-constructor: error
|
||||||
|
no-useless-rename: error
|
||||||
|
no-useless-return: error
|
||||||
|
no-var: error
|
||||||
|
no-void: error
|
||||||
|
no-warning-comments: error
|
||||||
|
no-whitespace-before-property: error
|
||||||
|
no-with: error
|
||||||
|
nonblock-statement-body-position: error
|
||||||
|
object-curly-newline: 'off'
|
||||||
|
object-curly-spacing:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
object-property-newline: error
|
||||||
|
object-shorthand: 'off'
|
||||||
|
one-var: 'off'
|
||||||
|
one-var-declaration-per-line: error
|
||||||
|
operator-assignment: error
|
||||||
|
operator-linebreak: error
|
||||||
|
padded-blocks: 'off'
|
||||||
|
padding-line-between-statements: error
|
||||||
|
prefer-arrow-callback: error
|
||||||
|
prefer-const: error
|
||||||
|
prefer-destructuring: error
|
||||||
|
prefer-numeric-literals: error
|
||||||
|
prefer-promise-reject-errors: error
|
||||||
|
prefer-reflect: error
|
||||||
|
prefer-rest-params: error
|
||||||
|
prefer-spread: error
|
||||||
|
prefer-template: error
|
||||||
|
quote-props: 'off'
|
||||||
|
quotes: 'off'
|
||||||
|
radix: error
|
||||||
|
require-await: error
|
||||||
|
require-jsdoc: error
|
||||||
|
rest-spread-spacing:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
semi: error
|
||||||
|
semi-spacing: error
|
||||||
|
semi-style:
|
||||||
|
- error
|
||||||
|
- last
|
||||||
|
sort-imports: 'off'
|
||||||
|
sort-keys: 'off'
|
||||||
|
sort-vars: error
|
||||||
|
space-before-blocks: error
|
||||||
|
space-before-function-paren: 'off'
|
||||||
|
space-in-parens:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
space-infix-ops: error
|
||||||
|
space-unary-ops: error
|
||||||
|
spaced-comment:
|
||||||
|
- error
|
||||||
|
- always
|
||||||
|
strict: error
|
||||||
|
switch-colon-spacing: error
|
||||||
|
symbol-description: error
|
||||||
|
template-curly-spacing:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
template-tag-spacing: error
|
||||||
|
unicode-bom:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
valid-jsdoc:
|
||||||
|
- error
|
||||||
|
- requireParamType: false
|
||||||
|
requireReturn: false
|
||||||
|
requireReturnType: false
|
||||||
|
vars-on-top: error
|
||||||
|
wrap-iife: error
|
||||||
|
wrap-regex: error
|
||||||
|
yield-star-spacing: error
|
||||||
|
yoda:
|
||||||
|
- error
|
||||||
|
- never
|
||||||
|
|
||||||
|
# import plugin
|
||||||
|
import/extensions: 'off'
|
||||||
|
import/no-unresolved:
|
||||||
|
- error
|
||||||
|
|
||||||
|
# @typescript-eslint plugin
|
||||||
|
"@typescript-eslint/explicit-function-return-type": 'off'
|
||||||
|
"@typescript-eslint/no-use-before-define":
|
||||||
|
- error
|
||||||
|
- functions: false
|
||||||
|
"@typescript-eslint/strict-boolean-expressions": error
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
@ -28,3 +28,5 @@ jobs:
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Build
|
- name: Build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
- name: Verify
|
||||||
|
run: npm run verify
|
||||||
|
|
10
.github/workflows/verify-on-macos.yml
vendored
10
.github/workflows/verify-on-macos.yml
vendored
|
@ -7,11 +7,12 @@ jobs:
|
||||||
name: Connect to github.com
|
name: Connect to github.com
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
- name: print created files
|
- name: print created files
|
||||||
run: ls -l ~/.ssh
|
run: ls -l ~/.ssh
|
||||||
|
@ -21,11 +22,12 @@ jobs:
|
||||||
name: Connect to github.com with name and config
|
name: Connect to github.com with name and config
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
name: ssh_key_name # optional
|
name: ssh_key_name # optional
|
||||||
config: | # optional
|
config: | # optional
|
||||||
|
|
10
.github/workflows/verify-on-ubuntu.yml
vendored
10
.github/workflows/verify-on-ubuntu.yml
vendored
|
@ -7,11 +7,12 @@ jobs:
|
||||||
name: Connect to github.com
|
name: Connect to github.com
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
- name: print created files
|
- name: print created files
|
||||||
run: ls -l ~/.ssh
|
run: ls -l ~/.ssh
|
||||||
|
@ -21,11 +22,12 @@ jobs:
|
||||||
name: Connect to github.com with name and config
|
name: Connect to github.com with name and config
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
name: ssh_key_name # optional
|
name: ssh_key_name # optional
|
||||||
config: | # optional
|
config: | # optional
|
||||||
|
|
10
.github/workflows/verify-on-ubuntu1604.yml
vendored
10
.github/workflows/verify-on-ubuntu1604.yml
vendored
|
@ -7,11 +7,12 @@ jobs:
|
||||||
name: Connect to github.com
|
name: Connect to github.com
|
||||||
runs-on: ubuntu-16.04
|
runs-on: ubuntu-16.04
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
- name: print created files
|
- name: print created files
|
||||||
run: ls -l ~/.ssh
|
run: ls -l ~/.ssh
|
||||||
|
@ -21,11 +22,12 @@ jobs:
|
||||||
name: Connect to github.com with name and config
|
name: Connect to github.com with name and config
|
||||||
runs-on: ubuntu-16.04
|
runs-on: ubuntu-16.04
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
name: ssh_key_name # optional
|
name: ssh_key_name # optional
|
||||||
config: | # optional
|
config: | # optional
|
||||||
|
|
10
.github/workflows/verify-on-windows.yml
vendored
10
.github/workflows/verify-on-windows.yml
vendored
|
@ -7,11 +7,12 @@ jobs:
|
||||||
name: Connect to github.com
|
name: Connect to github.com
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
- name: print created files
|
- name: print created files
|
||||||
run: ls ~/.ssh
|
run: ls ~/.ssh
|
||||||
|
@ -21,11 +22,12 @@ jobs:
|
||||||
name: Connect to github.com with name and config
|
name: Connect to github.com with name and config
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout source codes
|
||||||
|
uses: actions/checkout@v1
|
||||||
- name: Install SSH key
|
- name: Install SSH key
|
||||||
uses: shimataro/ssh-key-action@HEAD
|
uses: ./.
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # optional
|
||||||
name: ssh_key_name # optional
|
name: ssh_key_name # optional
|
||||||
config: | # optional
|
config: | # optional
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"MD007": {
|
|
||||||
"indent": 4
|
|
||||||
},
|
|
||||||
"MD013": {
|
|
||||||
"line_length": 255
|
|
||||||
},
|
|
||||||
"MD024": {
|
|
||||||
"siblings_only": true
|
|
||||||
}
|
|
||||||
}
|
|
6
.markdownlint.yml
Normal file
6
.markdownlint.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
MD007:
|
||||||
|
indent: 4
|
||||||
|
MD013:
|
||||||
|
line_length: 255
|
||||||
|
MD024:
|
||||||
|
siblings_only: true
|
|
@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
* `public-key` is no longer necessarily
|
||||||
|
|
||||||
## [1.5.0]
|
## [1.5.0]
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
|
@ -26,7 +26,6 @@ steps:
|
||||||
uses: shimataro/ssh-key-action@v1
|
uses: shimataro/ssh-key-action@v1
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY }}
|
private-key: ${{ secrets.SSH_KEY }}
|
||||||
public-key: ${{ secrets.SSH_KEY_PUBLIC }}
|
|
||||||
name: id_rsa # optional
|
name: id_rsa # optional
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS }} # known_hosts; optional
|
known-hosts: ${{ secrets.KNOWN_HOSTS }} # known_hosts; optional
|
||||||
config: ${{ secrets.CONFIG }} # ssh_config; optional
|
config: ${{ secrets.CONFIG }} # ssh_config; optional
|
||||||
|
@ -43,7 +42,7 @@ See [Workflow syntax for GitHub Actions](https://help.github.com/en/articles/wor
|
||||||
If you want to install multiple keys, call this action multiple times.
|
If you want to install multiple keys, call this action multiple times.
|
||||||
It is useful for port forwarding.
|
It is useful for port forwarding.
|
||||||
|
|
||||||
**NOTE:** When this action is called multiple times, **the contents of `known-hosts` and `config` will be appended**. But `public-key` and `private-key` must be saved as different name, by using `name` option.
|
**NOTE:** When this action is called multiple times, **the contents of `known-hosts` and `config` will be appended**. But `private-key` must be saved as different name, by using `name` option.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -52,7 +51,6 @@ steps:
|
||||||
uses: shimataro/ssh-key-action@v1
|
uses: shimataro/ssh-key-action@v1
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY_OF_BASTION }}
|
private-key: ${{ secrets.SSH_KEY_OF_BASTION }}
|
||||||
public-key: ${{ secrets.SSH_KEY_OF_BASTION_PUBLIC }}
|
|
||||||
name: id_rsa-bastion
|
name: id_rsa-bastion
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS_OF_BASTION }}
|
known-hosts: ${{ secrets.KNOWN_HOSTS_OF_BASTION }}
|
||||||
config: |
|
config: |
|
||||||
|
@ -64,7 +62,6 @@ steps:
|
||||||
uses: shimataro/ssh-key-action@v1
|
uses: shimataro/ssh-key-action@v1
|
||||||
with:
|
with:
|
||||||
private-key: ${{ secrets.SSH_KEY_OF_TARGET }}
|
private-key: ${{ secrets.SSH_KEY_OF_TARGET }}
|
||||||
public-key: ${{ secrets.SSH_KEY_OF_TARGET_PUBLIC }}
|
|
||||||
name: id_rsa-target
|
name: id_rsa-target
|
||||||
known-hosts: ${{ secrets.KNOWN_HOSTS_OF_TARGET }} # will be appended!
|
known-hosts: ${{ secrets.KNOWN_HOSTS_OF_TARGET }} # will be appended!
|
||||||
config: | # will be appended!
|
config: | # will be appended!
|
||||||
|
|
|
@ -9,9 +9,6 @@ inputs:
|
||||||
private-key:
|
private-key:
|
||||||
description: "private SSH key"
|
description: "private SSH key"
|
||||||
required: true
|
required: true
|
||||||
public-key:
|
|
||||||
description: "public SSH key"
|
|
||||||
required: true
|
|
||||||
name:
|
name:
|
||||||
description: "SSH key file name (default: id_rsa)"
|
description: "SSH key file name (default: id_rsa)"
|
||||||
required: false
|
required: false
|
||||||
|
|
43
lib/main.js
43
lib/main.js
|
@ -15,10 +15,9 @@ const core = __importStar(require("@actions/core"));
|
||||||
*/
|
*/
|
||||||
function main() {
|
function main() {
|
||||||
try {
|
try {
|
||||||
const name = core.getInput("name");
|
|
||||||
const files = [
|
const files = [
|
||||||
{
|
{
|
||||||
name: name,
|
name: core.getInput("name"),
|
||||||
contents: core.getInput("private-key", {
|
contents: core.getInput("private-key", {
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
|
@ -27,19 +26,9 @@ function main() {
|
||||||
flag: "ax",
|
flag: "ax",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: `${name}.pub`,
|
|
||||||
contents: core.getInput("public-key", {
|
|
||||||
required: true,
|
|
||||||
}),
|
|
||||||
options: {
|
|
||||||
mode: 0o444,
|
|
||||||
flag: "ax",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "known_hosts",
|
name: "known_hosts",
|
||||||
contents: core.getInput("known-hosts") + "\n",
|
contents: prependLf(core.getInput("known-hosts")),
|
||||||
options: {
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
flag: "a",
|
flag: "a",
|
||||||
|
@ -47,7 +36,7 @@ function main() {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "config",
|
name: "config",
|
||||||
contents: core.getInput("config") + "\n",
|
contents: prependLf(core.getInput("config")),
|
||||||
options: {
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
flag: "a",
|
flag: "a",
|
||||||
|
@ -77,12 +66,36 @@ function main() {
|
||||||
* @returns home directory
|
* @returns home directory
|
||||||
*/
|
*/
|
||||||
function getHomeDirectory() {
|
function getHomeDirectory() {
|
||||||
const homeEnv = process.platform == "win32" ? "USERPROFILE" : "HOME";
|
const homeEnv = getHomeEnv();
|
||||||
const home = process.env[homeEnv];
|
const home = process.env[homeEnv];
|
||||||
if (home === undefined) {
|
if (home === undefined) {
|
||||||
throw Error(`${homeEnv} is not defined`);
|
throw Error(`${homeEnv} is not defined`);
|
||||||
}
|
}
|
||||||
return home;
|
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();
|
main();
|
||||||
//# sourceMappingURL=main.js.map
|
//# sourceMappingURL=main.js.map
|
|
@ -1 +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,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,GAAe;YACzB;gBACC,IAAI,EAAE,IAAI;gBACV,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,GAAG,IAAI,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;oBACrC,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,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;gBAC7C,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,GAAG;iBACT;aACD;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI;gBACxC,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,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,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,IAAI,EAAE,CAAC"}
|
{"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"}
|
9
node_modules/@actions/core/lib/command.js
generated
vendored
9
node_modules/@actions/core/lib/command.js
generated
vendored
|
@ -34,13 +34,20 @@ class Command {
|
||||||
let cmdStr = CMD_STRING + this.command;
|
let cmdStr = CMD_STRING + this.command;
|
||||||
if (this.properties && Object.keys(this.properties).length > 0) {
|
if (this.properties && Object.keys(this.properties).length > 0) {
|
||||||
cmdStr += ' ';
|
cmdStr += ' ';
|
||||||
|
let first = true;
|
||||||
for (const key in this.properties) {
|
for (const key in this.properties) {
|
||||||
if (this.properties.hasOwnProperty(key)) {
|
if (this.properties.hasOwnProperty(key)) {
|
||||||
const val = this.properties[key];
|
const val = this.properties[key];
|
||||||
if (val) {
|
if (val) {
|
||||||
|
if (first) {
|
||||||
|
first = false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
cmdStr += ',';
|
||||||
|
}
|
||||||
// safely append the val - avoid blowing up when attempting to
|
// safely append the val - avoid blowing up when attempting to
|
||||||
// call .replace() if message is not a string for some reason
|
// call .replace() if message is not a string for some reason
|
||||||
cmdStr += `${key}=${escape(`${val || ''}`)},`;
|
cmdStr += `${key}=${escape(`${val || ''}`)}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
node_modules/@actions/core/lib/command.js.map
generated
vendored
2
node_modules/@actions/core/lib/command.js.map
generated
vendored
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;AAAA,yBAAwB;AAQxB;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAe;IAEf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,8DAA8D;wBAC9D,6DAA6D;wBAC7D,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAA;qBAC9C;iBACF;aACF;SACF;QAED,MAAM,IAAI,UAAU,CAAA;QAEpB,kEAAkE;QAClE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;QACvC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
|
{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;AAAA,yBAAwB;AAQxB;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAe;IAEf,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,8DAA8D;wBAC9D,6DAA6D;wBAC7D,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,CAAA;qBAC7C;iBACF;aACF;SACF;QAED,MAAM,IAAI,UAAU,CAAA;QAEpB,kEAAkE;QAClE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAA;QACvC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
|
10
node_modules/@actions/core/package.json
generated
vendored
10
node_modules/@actions/core/package.json
generated
vendored
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@actions/core",
|
"name": "@actions/core",
|
||||||
"version": "1.2.0",
|
"version": "1.2.1",
|
||||||
"description": "Actions core lib",
|
"description": "Actions core lib",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"github",
|
"github",
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
|
"homepage": "https://github.com/actions/toolkit/tree/master/packages/core",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "lib/core.js",
|
"main": "lib/core.js",
|
||||||
|
"types": "lib/core.d.ts",
|
||||||
"directories": {
|
"directories": {
|
||||||
"lib": "lib",
|
"lib": "lib",
|
||||||
"test": "__tests__"
|
"test": "__tests__"
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
"directory": "packages/core"
|
"directory": "packages/core"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"audit-moderate": "npm install && npm audit --audit-level=moderate",
|
||||||
"test": "echo \"Error: run tests from root\" && exit 1",
|
"test": "echo \"Error: run tests from root\" && exit 1",
|
||||||
"tsc": "tsc"
|
"tsc": "tsc"
|
||||||
},
|
},
|
||||||
|
@ -36,7 +38,7 @@
|
||||||
"@types/node": "^12.0.2"
|
"@types/node": "^12.0.2"
|
||||||
}
|
}
|
||||||
|
|
||||||
,"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.0.tgz"
|
,"_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.1.tgz"
|
||||||
,"_integrity": "sha512-ZKdyhlSlyz38S6YFfPnyNgCDZuAF2T0Qv5eHflNWytPS8Qjvz39bZFMry9Bb/dpSnqWcNeav5yM2CTYpJeY+Dw=="
|
,"_integrity": "sha512-xD+CQd9p4lU7ZfRqmUcbJpqR+Ss51rJRVeXMyOLrZQImN9/8Sy/BEUBnHO/UKD3z03R686PVTLfEPmkropGuLw=="
|
||||||
,"_from": "@actions/core@1.2.0"
|
,"_from": "@actions/core@1.2.1"
|
||||||
}
|
}
|
2348
package-lock.json
generated
2348
package-lock.json
generated
File diff suppressed because it is too large
Load diff
20
package.json
20
package.json
|
@ -10,7 +10,12 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"check-updates": "ncu"
|
"check-updates": "ncu",
|
||||||
|
"lint": "run-p lint:*",
|
||||||
|
"lint:ts": "eslint ./src --ext .ts",
|
||||||
|
"lint:md": "markdownlint . --ignore node_modules --ignore examples",
|
||||||
|
"lint:yaml": "yamllint .*.yml *.yml --ignore=node_modules/**/*.yml --ignore=node_modules/**/*.yaml",
|
||||||
|
"verify": "run-p lint"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -26,11 +31,18 @@
|
||||||
"author": "shimataro",
|
"author": "shimataro",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "1.2.0"
|
"@actions/core": "1.2.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "13.1.1",
|
"@types/node": "13.1.8",
|
||||||
|
"@typescript-eslint/eslint-plugin": "2.16.0",
|
||||||
|
"@typescript-eslint/parser": "2.16.0",
|
||||||
|
"eslint": "6.8.0",
|
||||||
|
"eslint-plugin-import": "2.20.0",
|
||||||
|
"markdownlint-cli": "0.21.0",
|
||||||
"npm-check-updates": "4.0.1",
|
"npm-check-updates": "4.0.1",
|
||||||
"typescript": "3.7.4"
|
"npm-run-all": "4.1.5",
|
||||||
|
"typescript": "3.7.5",
|
||||||
|
"yaml-lint": "1.2.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
51
src/main.ts
51
src/main.ts
|
@ -17,10 +17,9 @@ function main(): void
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
const name = core.getInput("name");
|
|
||||||
const files: FileInfo[] = [
|
const files: FileInfo[] = [
|
||||||
{
|
{
|
||||||
name: name,
|
name: core.getInput("name"),
|
||||||
contents: core.getInput("private-key", {
|
contents: core.getInput("private-key", {
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
|
@ -29,19 +28,9 @@ function main(): void
|
||||||
flag: "ax",
|
flag: "ax",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: `${name}.pub`,
|
|
||||||
contents: core.getInput("public-key", {
|
|
||||||
required: true,
|
|
||||||
}),
|
|
||||||
options: {
|
|
||||||
mode: 0o444,
|
|
||||||
flag: "ax",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "known_hosts",
|
name: "known_hosts",
|
||||||
contents: core.getInput("known-hosts") + "\n",
|
contents: prependLf(core.getInput("known-hosts")),
|
||||||
options: {
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
flag: "a",
|
flag: "a",
|
||||||
|
@ -49,7 +38,7 @@ function main(): void
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "config",
|
name: "config",
|
||||||
contents: core.getInput("config") + "\n",
|
contents: prependLf(core.getInput("config")),
|
||||||
options: {
|
options: {
|
||||||
mode: 0o644,
|
mode: 0o644,
|
||||||
flag: "a",
|
flag: "a",
|
||||||
|
@ -86,7 +75,7 @@ function main(): void
|
||||||
*/
|
*/
|
||||||
function getHomeDirectory(): string
|
function getHomeDirectory(): string
|
||||||
{
|
{
|
||||||
const homeEnv = process.platform == "win32" ? "USERPROFILE" : "HOME";
|
const homeEnv = getHomeEnv();
|
||||||
const home = process.env[homeEnv];
|
const home = process.env[homeEnv];
|
||||||
if(home === undefined)
|
if(home === undefined)
|
||||||
{
|
{
|
||||||
|
@ -96,4 +85,36 @@ function getHomeDirectory(): string
|
||||||
return home;
|
return home;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get HOME environment name
|
||||||
|
* @returns HOME environment name
|
||||||
|
*/
|
||||||
|
function getHomeEnv(): string
|
||||||
|
{
|
||||||
|
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: string): string
|
||||||
|
{
|
||||||
|
if(value.length === 0)
|
||||||
|
{
|
||||||
|
// do nothing if empty
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return `\n${value}`;
|
||||||
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue