From 6137f733fb6aad9941aaf990e4df5af3aef72d1c Mon Sep 17 00:00:00 2001
From: appleboy <appleboy.tw@gmail.com>
Date: Sat, 23 Nov 2024 23:30:53 +0800
Subject: [PATCH 1/5] docs: improve project documentation and organization

- Add a project description mentioning the use of Golang and drone-ssh
- Replace the list of input variables with a table format for better readability and organization

Signed-off-by: appleboy <appleboy.tw@gmail.com>
---
 README.zh-cn.md | 70 +++++++++++++++++++++++++++----------------------
 1 file changed, 38 insertions(+), 32 deletions(-)

diff --git a/README.zh-cn.md b/README.zh-cn.md
index 98505f4..4dc12b1 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -6,42 +6,48 @@
 
 [![testing main branch](https://github.com/appleboy/ssh-action/actions/workflows/main.yml/badge.svg)](https://github.com/appleboy/ssh-action/actions/workflows/main.yml)
 
+该项目使用 [Golang](https://go.dev) 和 [drone-ssh](https://github.com/appleboy/drone-ssh) 构建。🚀
+
 ## 输入变量
 
 更详细的信息,请参考 [action.yml](./action.yml)。
 
-* `host` - SSH 主机
-* `port` - SSH 连接端口,默认为 `22`
-* `username` - SSH 用户名称
-* `password` - SSH 密码
-* `passphrase` - 通常用于加密私钥的 passphrase
-* `sync` - 同步执行多个主机上的命令,默认为 false
-* `timeout` - SSH 连接到远程主机的超时时间,默认为 `30s`
-* `command_timeout` - SSH 命令超时时间,默认为 10m
-* `key` - SSH 私钥的内容,例如 ~/.ssh/id_rsa 的原始内容,请记得包含 BEGIN 和 END 行
-* `key_path` - SSH 私钥的路径
-* `fingerprint` - 主机公钥的 SHA256 指纹,默认为跳过验证
-* `script` - 执行命令
-* `script_file` - 執行命令的文件
-* `script_stop` - 当出现第一个错误时停止执行命令
-* `envs` - 传递环境变量到 shell script
-* `debug` - 启用调试模式
-* `use_insecure_cipher` - 使用不安全的密码(ciphers)进行加密,详见 [#56](https://github.com/appleboy/ssh-action/issues/56)
-* `cipher` - 允许使用的密码(ciphers)算法。如果未指定,则使用适当的算法
-
-SSH 代理设置:
-
-* `proxy_host` - 代理主机
-* `proxy_port` - 代理端口,默认为 `22`
-* `proxy_username` - 代理用户名
-* `proxy_password` - 代理密码
-* `proxy_passphrase` - 密码通常用于加密私有密钥
-* `proxy_timeout` - SSH 连接至代理主机的超时时间,默认为 `30s`
-* `proxy_key` - SSH 代理私有密钥内容
-* `proxy_key_path` - SSH 代理私有密钥路径
-* `proxy_fingerprint` - 代理主机公钥的 SHA256 指纹,默认为跳过验证
-* `proxy_use_insecure_cipher` - 使用不安全的加密方式,详见 [#56](https://github.com/appleboy/ssh-action/issues/56)
-* `proxy_cipher` - 允许的加密算法。如果未指定,则使用合理的算法
+| 输入参数                  | 描述                                                  | 默认值 |
+| ------------------------- | ----------------------------------------------------- | ------ |
+| host                      | SSH 主机地址                                          |        |
+| port                      | SSH 端口号                                            | 22     |
+| passphrase                | SSH 密钥密码短语                                      |        |
+| username                  | SSH 用户名                                            |        |
+| password                  | SSH 密码                                              |        |
+| protocol                  | SSH 协议版本(tcp, tcp4, tcp6)                       | tcp    |
+| sync                      | 如果有多个主机,启用同步执行                          | false  |
+| use_insecure_cipher       | 使用不安全的密码算法                                  | false  |
+| cipher                    | 允许的密码算法。如果未指定,则使用适当的算法          |        |
+| timeout                   | SSH 连接到主机的超时时间                              | 30s    |
+| command_timeout           | SSH 命令的超时时间                                    | 10m    |
+| key                       | SSH 私钥的内容,例如 ~/.ssh/id_rsa 的原始内容         |        |
+| key_path                  | SSH 私钥的路径                                        |        |
+| fingerprint               | 主机公钥的 SHA256 指纹                                |        |
+| proxy_host                | SSH 代理主机                                          |        |
+| proxy_port                | SSH 代理端口                                          | 22     |
+| proxy_protocol            | SSH 代理协议版本(tcp, tcp4, tcp6)                   | tcp    |
+| proxy_username            | SSH 代理用户名                                        |        |
+| proxy_password            | SSH 代理密码                                          |        |
+| proxy_passphrase          | SSH 代理密钥密码短语                                  |        |
+| proxy_timeout             | SSH 连接到代理主机的超时时间                          | 30s    |
+| proxy_key                 | SSH 代理私钥的内容                                    |        |
+| proxy_key_path            | SSH 代理私钥的路径                                    |        |
+| proxy_fingerprint         | 代理主机公钥的 SHA256 指纹                            |        |
+| proxy_cipher              | 代理允许的密码算法                                    |        |
+| proxy_use_insecure_cipher | 使用不安全的密码算法                                  | false  |
+| script                    | 执行命令                                              |        |
+| script_file               | 从文件执行命令                                        |        |
+| script_stop               | 在第一次失败后停止脚本                                | false  |
+| envs                      | 传递环境变量到 shell 脚本                             |        |
+| envs_format               | 环境变量传递的灵活配置                                |        |
+| debug                     | 启用调试模式                                          | false  |
+| allenvs                   | 将带有 `GITHUB_` 和 `INPUT_` 前缀的环境变量传递给脚本 | false  |
+| request_pty               | 请求伪终端                                            | false  |
 
 ## 使用方法
 

From b76e6173e8c2787083cd8d94b715e6a01844d137 Mon Sep 17 00:00:00 2001
From: appleboy <appleboy.tw@gmail.com>
Date: Sun, 1 Dec 2024 10:10:43 +0800
Subject: [PATCH 2/5] docs(readme): standardize and format README files across
 languages

- Remove an empty line in `README.md`
- Replace underscores with bold formatting for default key types in `README.zh-cn.md` and `README.zh-tw.md`
- Standardize list formatting in `README.md`, `README.zh-cn.md`, and `README.zh-tw.md`

Signed-off-by: appleboy <appleboy.tw@gmail.com>
---
 README.md       | 25 ++++++++++++-------------
 README.zh-cn.md | 27 +++++++++++++--------------
 README.zh-tw.md | 27 +++++++++++++--------------
 3 files changed, 38 insertions(+), 41 deletions(-)

diff --git a/README.md b/README.md
index 0a204a3..fd5229d 100644
--- a/README.md
+++ b/README.md
@@ -60,19 +60,18 @@ Executing remote SSH commands.
 name: remote ssh command
 on: [push]
 jobs:
-
   build:
     name: Build
     runs-on: ubuntu-latest
     steps:
-    - name: executing remote ssh commands using password
-      uses: appleboy/ssh-action@v1.2.0
-      with:
-        host: ${{ secrets.HOST }}
-        username: linuxserver.io
-        password: ${{ secrets.PASSWORD }}
-        port: ${{ secrets.PORT }}
-        script: whoami
+      - name: executing remote ssh commands using password
+        uses: appleboy/ssh-action@v1.2.0
+        with:
+          host: ${{ secrets.HOST }}
+          username: linuxserver.io
+          password: ${{ secrets.PASSWORD }}
+          port: ${{ secrets.PORT }}
+          script: whoami
 ```
 
 output:
@@ -152,9 +151,9 @@ See the detail information about [SSH login without password](http://www.linuxpr
 
 **A note** from one of our readers: Depending on your version of SSH you might also have to do the following changes:
 
-* Put the public key in `.ssh/authorized_keys2`
-* Change the permissions of `.ssh` to 700
-* Change the permissions of `.ssh/authorized_keys2` to 640
+- Put the public key in `.ssh/authorized_keys2`
+- Change the permissions of `.ssh` to 700
+- Change the permissions of `.ssh/authorized_keys2` to 640
 
 ### If you are using OpenSSH
 
@@ -231,7 +230,7 @@ ssh-keygen -t ed25519 -a 200 -C "your_email@example.com"
     username: ${{ secrets.USERNAME }}
     key: ${{ secrets.KEY }}
     port: ${{ secrets.PORT }}
-    script_path: scripts/script.sh 
+    script_path: scripts/script.sh
 ```
 
 #### Multiple Hosts
diff --git a/README.zh-cn.md b/README.zh-cn.md
index 4dc12b1..4ab55e9 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -57,19 +57,18 @@
 name: remote ssh command
 on: [push]
 jobs:
-
   build:
     name: Build
     runs-on: ubuntu-latest
     steps:
-    - name: executing remote ssh commands using password
-      uses: appleboy/ssh-action@v1.2.0
-      with:
-        host: ${{ secrets.HOST }}
-        username: ${{ secrets.USERNAME }}
-        password: ${{ secrets.PASSWORD }}
-        port: ${{ secrets.PORT }}
-        script: whoami
+      - name: executing remote ssh commands using password
+        uses: appleboy/ssh-action@v1.2.0
+        with:
+          host: ${{ secrets.HOST }}
+          username: ${{ secrets.USERNAME }}
+          password: ${{ secrets.PASSWORD }}
+          port: ${{ secrets.PORT }}
+          script: whoami
 ```
 
 画面输出
@@ -132,9 +131,9 @@ clip < ~/.ssh/id_ed25519
 
 **来自读者的注意事项**: 根据您的 SSH 版本,您可能还需要进行以下更改:
 
-* 将公钥放在 `.ssh/authorized_keys2` 中
-* 将 `.ssh` 的权限更改为700
-* 将 `.ssh/authorized_keys2` 的权限更改为640
+- 将公钥放在 `.ssh/authorized_keys2` 中
+- 将 `.ssh` 的权限更改为 700
+- 将 `.ssh/authorized_keys2` 的权限更改为 640
 
 ### 如果你使用的是 OpenSSH
 
@@ -227,7 +226,7 @@ ssh-keygen -t ed25519 -a 200 -C ”your_email@example.com“
     username: ${{ secrets.USERNAME }}
     key: ${{ secrets.KEY }}
     port: ${{ secrets.PORT }}
-    script_path: scripts/script.sh 
+    script_path: scripts/script.sh
 ```
 
 #### 多个不同端口的主机
@@ -380,7 +379,7 @@ Host FooServer
 
 设置 SSH 主机指纹验证可以帮助防止中间人攻击。在设置之前,运行以下命令以获取 SSH 主机指纹。请记得将 `ed25519` 替换为您适当的密钥类型(`rsa`、 `dsa`等),而 `example.com` 则替换为您的主机。
 
-现代 OpenSSH 版本中,需要提取的_默认密钥_类型是 `rsa`(从版本 5.1 开始)、`ecdsa`(从版本 6.0 开始)和 `ed25519`(从版本 6.7 开始)。
+现代 OpenSSH 版本中,需要提取的**默认密钥**类型是 `rsa`(从版本 5.1 开始)、`ecdsa`(从版本 6.0 开始)和 `ed25519`(从版本 6.7 开始)。
 
 ```sh
 ssh example.com ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key.pub | cut -d ’ ‘ -f2
diff --git a/README.zh-tw.md b/README.zh-tw.md
index 324cba8..4c5d04b 100644
--- a/README.zh-tw.md
+++ b/README.zh-tw.md
@@ -60,19 +60,18 @@
 name: remote ssh command
 on: [push]
 jobs:
-
   build:
     name: Build
     runs-on: ubuntu-latest
     steps:
-    - name: executing remote ssh commands using password
-      uses: appleboy/ssh-action@v1.2.0
-      with:
-        host: ${{ secrets.HOST }}
-        username: ${{ secrets.USERNAME }}
-        password: ${{ secrets.PASSWORD }}
-        port: ${{ secrets.PORT }}
-        script: whoami
+      - name: executing remote ssh commands using password
+        uses: appleboy/ssh-action@v1.2.0
+        with:
+          host: ${{ secrets.HOST }}
+          username: ${{ secrets.USERNAME }}
+          password: ${{ secrets.PASSWORD }}
+          port: ${{ secrets.PORT }}
+          script: whoami
 ```
 
 畫面輸出
@@ -135,9 +134,9 @@ clip < ~/.ssh/id_ed25519
 
 **來自讀者的注意事項**: 根據您的 SSH 版本,您可能還需要進行以下更改:
 
-* 將公鑰放在 `.ssh/authorized_keys2` 中
-* 將 `.ssh` 的權限更改為700
-* 將 `.ssh/authorized_keys2` 的權限更改為640
+- 將公鑰放在 `.ssh/authorized_keys2` 中
+- 將 `.ssh` 的權限更改為 700
+- 將 `.ssh/authorized_keys2` 的權限更改為 640
 
 ### 如果你使用的是 OpenSSH
 
@@ -214,7 +213,7 @@ ssh-keygen -t ed25519 -a 200 -C "your_email@example.com"
     username: ${{ secrets.USERNAME }}
     key: ${{ secrets.KEY }}
     port: ${{ secrets.PORT }}
-    script_path: scripts/script.sh 
+    script_path: scripts/script.sh
 ```
 
 #### 多台主機
@@ -383,7 +382,7 @@ Host FooServer
 
 設置 SSH 主機指紋驗證可以幫助防止中間人攻擊。在設置之前,運行以下命令以獲取 SSH 主機指紋。請記得將 `ed25519` 替換為您的適當金鑰類型(`rsa`、 `dsa`等),而 `example.com` 則替換為您的主機。
 
-現代 OpenSSH 版本中,需要提取的_默認金鑰_類型是 `rsa`(從版本 5.1 開始)、`ecdsa`(從版本 6.0 開始)和 `ed25519`(從版本 6.7 開始)。
+現代 OpenSSH 版本中,需要提取的**默認金鑰**類型是 `rsa`(從版本 5.1 開始)、`ecdsa`(從版本 6.0 開始)和 `ed25519`(從版本 6.7 開始)。
 
 ```sh
 ssh example.com ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key.pub | cut -d ' ' -f2

From 48531853a70097fbb21625def44933e73f9b3ec1 Mon Sep 17 00:00:00 2001
From: appleboy <appleboy.tw@gmail.com>
Date: Sun, 1 Dec 2024 10:12:22 +0800
Subject: [PATCH 3/5] docs(readme): refactor README files to improve language
 link structure

- Combine language links into a single line in `README.md`
- Add links to English and Traditional Chinese README in `README.zh-cn.md`
- Combine language links into a single line in `README.zh-tw.md`

Signed-off-by: appleboy <appleboy.tw@gmail.com>
---
 README.md       | 3 +--
 README.zh-cn.md | 2 ++
 README.zh-tw.md | 3 +--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index fd5229d..d4bbd1a 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,6 @@
 # 🚀 SSH for GitHub Actions
 
-[繁體中文](./README.zh-tw.md)
-[简体中文](./README.zh-cn.md)
+[繁體中文](./README.zh-tw.md) | [简体中文](./README.zh-cn.md)
 
 [GitHub Action](https://github.com/features/actions) for executing remote SSH commands.
 
diff --git a/README.zh-cn.md b/README.zh-cn.md
index 4ab55e9..fc1d5d8 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -1,5 +1,7 @@
 # 🚀 用于 GitHub Actions 的 SSH
 
+[English](./README.md) | [繁體中文](./README.zh-tw.md)
+
 [GitHub Action](https://github.com/features/actions) 用于执行远程 SSH 命令。
 
 ![ssh workflow](./images/ssh-workflow.png)
diff --git a/README.zh-tw.md b/README.zh-tw.md
index 4c5d04b..72cc09a 100644
--- a/README.zh-tw.md
+++ b/README.zh-tw.md
@@ -1,7 +1,6 @@
 # 🚀 GitHub Actions 的 SSH
 
-[English](./README.md)
-[简体中文](./README.zh-cn.md)
+[English](./README.md) | [简体中文](./README.zh-cn.md)
 
 [GitHub Action](https://github.com/features/actions) 用於執行遠端 SSH 命令。
 

From 1c1ad10f6da46db2f81a68133f45b6a29317b741 Mon Sep 17 00:00:00 2001
From: Bo-Yi Wu <appleboy.tw@gmail.com>
Date: Mon, 2 Dec 2024 21:25:26 +0800
Subject: [PATCH 4/5] ci(action): remove script stop functionality from project
 (#350)

- Remove the `stop script if command error` step from GitHub workflows
- Remove the `script_stop` option from the README and its translations
- Remove the `script_stop` input from `action.yml`

Signed-off-by: appleboy <appleboy.tw@gmail.com>
---
 .github/workflows/main.yml   | 19 -------------------
 .github/workflows/stable.yml | 19 -------------------
 README.md                    | 32 --------------------------------
 README.zh-cn.md              | 32 --------------------------------
 README.zh-tw.md              | 32 --------------------------------
 action.yml                   |  3 ---
 6 files changed, 137 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6c35463..37f16c2 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -123,22 +123,6 @@ jobs:
           port: 2222
           script: whoami
 
-      - name: stop script if command error
-        uses: ./
-        continue-on-error: true
-        with:
-          host: ${{ env.REMOTE_HOST }}
-          username: linuxserver.io
-          password: password
-          key: password
-          port: 2222
-          script_stop: true
-          sync: true
-          debug: true
-          script: |
-            mkdir abc/def
-            ls -al
-
   support-key-passphrase:
     runs-on: ubuntu-latest
     steps:
@@ -215,7 +199,6 @@ jobs:
           key: ${{ env.PRIVATE_KEY }}
           port: 2222
           passphrase: 1234
-          script_stop: true
           script: |
             ls \
               -lah
@@ -292,7 +275,6 @@ jobs:
           username: linuxserver.io
           key: ${{ env.PRIVATE_KEY }}
           passphrase: 1234
-          script_stop: true
           script: |
             whoami
 
@@ -488,7 +470,6 @@ jobs:
           username: linuxserver.io
           key: ${{ env.PRIVATE_KEY }}
           port: 2222
-          script_stop: true
           request_pty: true
           command_timeout: 30s
           script: |
diff --git a/.github/workflows/stable.yml b/.github/workflows/stable.yml
index 9209737..82f4764 100644
--- a/.github/workflows/stable.yml
+++ b/.github/workflows/stable.yml
@@ -123,22 +123,6 @@ jobs:
           port: 2222
           script: whoami
 
-      - name: stop script if command error
-        uses: appleboy/ssh-action@v1.2.0
-        continue-on-error: true
-        with:
-          host: ${{ env.REMOTE_HOST }}
-          username: linuxserver.io
-          password: password
-          key: password
-          port: 2222
-          script_stop: true
-          sync: true
-          debug: true
-          script: |
-            mkdir abc/def
-            ls -al
-
   support-key-passphrase:
     runs-on: ubuntu-latest
     steps:
@@ -215,7 +199,6 @@ jobs:
           key: ${{ env.PRIVATE_KEY }}
           port: 2222
           passphrase: 1234
-          script_stop: true
           script: |
             ls \
               -lah
@@ -292,7 +275,6 @@ jobs:
           username: linuxserver.io
           key: ${{ env.PRIVATE_KEY }}
           passphrase: 1234
-          script_stop: true
           script: |
             whoami
 
@@ -478,7 +460,6 @@ jobs:
           username: linuxserver.io
           key: ${{ env.PRIVATE_KEY }}
           port: 2222
-          script_stop: true
           request_pty: true
           command_timeout: 30s
           script: |
diff --git a/README.md b/README.md
index d4bbd1a..273ffc4 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,6 @@ See [action.yml](./action.yml) for more detailed information.
 | proxy_use_insecure_cipher | Include more ciphers with use_insecure_cipher for the proxy                              | false         |
 | script                    | Execute commands                                                                         |               |
 | script_file               | Execute commands from a file                                                             |               |
-| script_stop               | Stop script after first failure                                                          | false         |
 | envs                      | Pass environment variables to shell script                                               |               |
 | envs_format               | Flexible configuration of environment value transfer                                     |               |
 | debug                     | Enable debug mode                                                                        | false         |
@@ -304,37 +303,6 @@ The default value of `port` is `22`.
 
 _Inside `env` object, you need to pass every environment variable as a string, passing `Integer` data type or any other may output unexpected results._
 
-#### Stop script after first failure
-
-> ex: missing `abc` folder
-
-```diff
-  - name: stop script if command error
-    uses: appleboy/ssh-action@v1.2.0
-    with:
-      host: ${{ secrets.HOST }}
-      username: ${{ secrets.USERNAME }}
-      key: ${{ secrets.KEY }}
-      port: ${{ secrets.PORT }}
-+     script_stop: true
-      script: |
-        mkdir abc/def
-        ls -al
-```
-
-output:
-
-```sh
-======CMD======
-mkdir abc/def
-ls -al
-
-======END======
-2019/11/21 01:16:21 Process exited with status 1
-err: mkdir: cannot create directory ‘abc/def’: No such file or directory
-##[error]Docker run failed with exit code 1
-```
-
 #### How to connect remote server using `ProxyCommand`?
 
 ```bash
diff --git a/README.zh-cn.md b/README.zh-cn.md
index fc1d5d8..564a057 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -44,7 +44,6 @@
 | proxy_use_insecure_cipher | 使用不安全的密码算法                                  | false  |
 | script                    | 执行命令                                              |        |
 | script_file               | 从文件执行命令                                        |        |
-| script_stop               | 在第一次失败后停止脚本                                | false  |
 | envs                      | 传递环境变量到 shell 脚本                             |        |
 | envs_format               | 环境变量传递的灵活配置                                |        |
 | debug                     | 启用调试模式                                          | false  |
@@ -285,37 +284,6 @@ ssh-keygen -t ed25519 -a 200 -C ”your_email@example.com“
 
 _在 `env` 对象中,您需要将每个环境变量作为字符串传递,传递 `Integer` 数据类型或任何其他类型可能会产生意外结果。_
 
-#### 在第一次失败后停止脚本
-
-> ex: missing `abc` folder
-
-```diff
-  - name: stop script if command error
-    uses: appleboy/ssh-action@v1.2.0
-    with:
-      host: ${{ secrets.HOST }}
-      username: ${{ secrets.USERNAME }}
-      key: ${{ secrets.KEY }}
-      port: ${{ secrets.PORT }}
-+     script_stop: true
-      script: |
-        mkdir abc/def
-        ls -al
-```
-
-画面输出:
-
-```sh
-======CMD======
-mkdir abc/def
-ls -al
-
-======END======
-2019/11/21 01:16:21 Process exited with status 1
-err: mkdir: cannot create directory ‘abc/def’: No such file or directory
-##[error]Docker run failed with exit code 1
-```
-
 #### 如何使用 `ProxyCommand` 连接远程服务器?
 
 ```bash
diff --git a/README.zh-tw.md b/README.zh-tw.md
index 72cc09a..885e661 100644
--- a/README.zh-tw.md
+++ b/README.zh-tw.md
@@ -44,7 +44,6 @@
 | proxy_use_insecure_cipher | 包含更多不安全的加密算法                              | false  |
 | script                    | 執行命令                                              |        |
 | script_file               | 從文件中執行命令                                      |        |
-| script_stop               | 在第一次失敗後停止腳本                                | false  |
 | envs                      | 將環境變數傳遞給 shell 腳本                           |        |
 | envs_format               | 環境值傳遞的靈活配置                                  |        |
 | debug                     | 啟用調試模式                                          | false  |
@@ -285,37 +284,6 @@ ssh-keygen -t ed25519 -a 200 -C "your_email@example.com"
 
 _在 `env` 對象中,您需要將每個環境變量作為字符串傳遞,傳遞 `Integer` 數據類型或任何其他類型可能會產生意外結果。_
 
-#### 在第一次失敗後停止腳本
-
-> ex: missing `abc` folder
-
-```diff
-  - name: stop script if command error
-    uses: appleboy/ssh-action@v1.2.0
-    with:
-      host: ${{ secrets.HOST }}
-      username: ${{ secrets.USERNAME }}
-      key: ${{ secrets.KEY }}
-      port: ${{ secrets.PORT }}
-+     script_stop: true
-      script: |
-        mkdir abc/def
-        ls -al
-```
-
-畫面輸出:
-
-```sh
-======CMD======
-mkdir abc/def
-ls -al
-
-======END======
-2019/11/21 01:16:21 Process exited with status 1
-err: mkdir: cannot create directory ‘abc/def’: No such file or directory
-##[error]Docker run failed with exit code 1
-```
-
 #### 如何使用 `ProxyCommand` 連接遠程服務器?
 
 ```bash
diff --git a/action.yml b/action.yml
index 19668ab..ef72096 100644
--- a/action.yml
+++ b/action.yml
@@ -65,8 +65,6 @@ inputs:
     description: "Commands to be executed."
   script_path:
     description: "Path to the file containing commands to be executed."
-  script_stop:
-    description: "Stop the script after the first failure."
   envs:
     description: "Environment variables to be passed to the shell script."
   envs_format:
@@ -113,7 +111,6 @@ runs:
         INPUT_COMMAND_TIMEOUT: ${{ inputs.command_timeout }}
         INPUT_SCRIPT: ${{ inputs.script }}
         INPUT_SCRIPT_FILE: ${{ inputs.script_path }}
-        INPUT_SCRIPT_STOP: ${{ inputs.script_stop }}
         INPUT_ENVS: ${{ inputs.envs }}
         INPUT_ENVS_FORMAT: ${{ inputs.envs_format }}
         INPUT_DEBUG: ${{ inputs.debug }}

From e13c387332e012cca188219684f51e6ac401aa32 Mon Sep 17 00:00:00 2001
From: Bo-Yi Wu <appleboy.tw@gmail.com>
Date: Mon, 2 Dec 2024 23:19:33 +0800
Subject: [PATCH 5/5] ci(action): display an environment variable with special
 characters (#351)

- Add a new job `testing07` with steps to set environment variables and create an SSH server container
- Set a special character password in environment variables
- Run a Docker container for an OpenSSH server and capture its IP address
- Add steps to SSH into the server using username and password authentication

Signed-off-by: appleboy <appleboy.tw@gmail.com>
---
 .github/workflows/main.yml | 45 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 37f16c2..6b2df98 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -504,3 +504,48 @@ jobs:
           command_timeout: 30s
           script: |
             whoami
+
+  testing07:
+    name: some special character
+    runs-on: ubuntu-latest
+    steps:
+      - name: checkout
+        uses: actions/checkout@v4
+
+      - name: Set Environment Variables
+        run: |
+          PASS='3HUS$?8kLu)}'
+          printf "PASS=${PASS}" >> $GITHUB_ENV
+
+      - name: create new ssh server
+        run: |
+          docker run -d \
+          --name=openssh-server \
+          --hostname=openssh-server \
+          -p 2222:2222 \
+          -e SUDO_ACCESS=false \
+          -e PASSWORD_ACCESS=true  \
+          -e USER_PASSWORD='${{ env.PASS }}'  \
+          -e USER_NAME=linuxserver.io \
+          --restart unless-stopped \
+          lscr.io/linuxserver/openssh-server:latest
+          docker exec openssh-server sh -c "hostname -i" > ip.txt
+          echo "REMOTE_HOST<<EOF" >> $GITHUB_ENV
+          cat ip.txt >> $GITHUB_ENV
+          echo "EOF" >> $GITHUB_ENV
+          echo "======= container ip address ========="
+          cat ip.txt
+          echo "======================================"
+          sleep 2
+
+      - name: ssh by username and password
+        uses: ./
+        with:
+          host: ${{ env.REMOTE_HOST }}
+          username: linuxserver.io
+          password: ${{ env.PASS }}
+          port: 2222
+          script: |
+            #!/usr/bin/env bash
+            set -e
+            whoami