chore: support running commands from a file (#341)

This commit is contained in:
Kyle Leonhard 2024-11-16 22:57:46 -08:00 committed by GitHub
parent ab698e59d8
commit 362a7f1677
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 0 deletions

View File

@ -42,6 +42,15 @@ jobs:
set -e set -e
whoami whoami
- name: ssh commands from a file
uses: ./
with:
host: ${{ env.REMOTE_HOST }}
username: linuxserver.io
password: password
port: 2222
script_path: testdata/test.sh
check-ssh-key: check-ssh-key:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@ -46,6 +46,7 @@ See [action.yml](./action.yml) for more detailed information.
| proxy_cipher | Allowed cipher algorithms for the proxy | | | proxy_cipher | Allowed cipher algorithms for the proxy | |
| proxy_use_insecure_cipher | Include more ciphers with use_insecure_cipher for the proxy | false | | proxy_use_insecure_cipher | Include more ciphers with use_insecure_cipher for the proxy | false |
| script | Execute commands | | | script | Execute commands | |
| script_file | Execute commands from a file | |
| script_stop | Stop script after first failure | false | | script_stop | Stop script after first failure | false |
| envs | Pass environment variables to shell script | | | envs | Pass environment variables to shell script | |
| envs_format | Flexible configuration of environment value transfer | | | envs_format | Flexible configuration of environment value transfer | |
@ -222,6 +223,19 @@ ssh-keygen -t ed25519 -a 200 -C "your_email@example.com"
![result](./images/output-result.png) ![result](./images/output-result.png)
#### Commands from a file
```yaml
- name: file commands
uses: appleboy/ssh-action@v1.1.0
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.KEY }}
port: ${{ secrets.PORT }}
script_path: scripts/script.sh
```
#### Multiple Hosts #### Multiple Hosts
```diff ```diff

View File

@ -63,6 +63,8 @@ inputs:
description: "Include more ciphers for the proxy by using insecure ciphers." description: "Include more ciphers for the proxy by using insecure ciphers."
script: script:
description: "Commands to be executed." description: "Commands to be executed."
script_path:
description: "Path to the file containing commands to be executed."
script_stop: script_stop:
description: "Stop the script after the first failure." description: "Stop the script after the first failure."
envs: envs:
@ -110,6 +112,7 @@ runs:
INPUT_PROXY_TIMEOUT: ${{ inputs.proxy_timeout }} INPUT_PROXY_TIMEOUT: ${{ inputs.proxy_timeout }}
INPUT_COMMAND_TIMEOUT: ${{ inputs.command_timeout }} INPUT_COMMAND_TIMEOUT: ${{ inputs.command_timeout }}
INPUT_SCRIPT: ${{ inputs.script }} INPUT_SCRIPT: ${{ inputs.script }}
INPUT_SCRIPT_FILE: ${{ inputs.script_path }}
INPUT_SCRIPT_STOP: ${{ inputs.script_stop }} INPUT_SCRIPT_STOP: ${{ inputs.script_stop }}
INPUT_ENVS: ${{ inputs.envs }} INPUT_ENVS: ${{ inputs.envs }}
INPUT_ENVS_FORMAT: ${{ inputs.envs_format }} INPUT_ENVS_FORMAT: ${{ inputs.envs_format }}

3
testdata/test.sh vendored Normal file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
set -e
whoami