mirror of
https://gitea.com/actions/appleboy-ssh-action.git
synced 2024-11-25 19:49:36 +01:00
ci: refactor CI workflow and improve robustness (#320)
* ci: refactor CI workflow and improve robustness - Update GitHub Actions checkout step from version 1 to version 4 in multiple jobs within the CI workflow Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * docs: improve non-interactive shell command handling - Add a Q&A section to the README with information on resolving 'command not found' errors for non-interactive shells - Provide a solution involving editing `/etc/bash.bashrc` to ensure commands are added to the path in non-interactive shells Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * docs: improve documentation and CI robustness - Update acknowledgment for the interactive shell solution in the README.md file Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> --------- Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
551964ebda
commit
f916346256
2 changed files with 29 additions and 6 deletions
12
.github/workflows/ci.yml
vendored
12
.github/workflows/ci.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: correct password but wrong key
|
- name: correct password but wrong key
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -143,7 +143,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: pass environment
|
- name: pass environment
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -219,7 +219,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: clone private repository
|
- name: clone private repository
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -238,7 +238,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: login GitHub Container Registry
|
- name: login GitHub Container Registry
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -267,7 +267,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: switch to root user
|
- name: switch to root user
|
||||||
uses: ./
|
uses: ./
|
||||||
|
@ -288,7 +288,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up WARP
|
- name: Set up WARP
|
||||||
uses: fscarmen/warp-on-actions@v1.1
|
uses: fscarmen/warp-on-actions@v1.1
|
||||||
|
|
23
README.md
23
README.md
|
@ -395,6 +395,29 @@ Now you can adjust you config:
|
||||||
ls -al
|
ls -al
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Q&A
|
||||||
|
|
||||||
|
### Command not found (npm or other command)
|
||||||
|
|
||||||
|
See the [issue comment](https://github.com/appleboy/ssh-action/issues/31#issuecomment-1006565847) about interactive vs non interactive shell. Thanks @kocyigityunus for the solution.
|
||||||
|
|
||||||
|
Basically, if you are running a command in a non interactive shell, like ssh-action, on many linux distros,
|
||||||
|
|
||||||
|
`/etc/bash.bashrc` file has a specific command that returns only, so some of the files didn't run and some specific commands doesn't add to path,
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# /etc/bash.bashrc
|
||||||
|
# System-wide .bashrc file for interactive bash(1) shells.
|
||||||
|
|
||||||
|
# To enable the settings / commands in this file for login shells as well,
|
||||||
|
# this file has to be sourced in /etc/profile.
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[ -z "$PS1" ] && return`
|
||||||
|
```
|
||||||
|
|
||||||
|
just comment out the line that returns early and everything should work fine, or you can use the real paths of the commands that you would like to use.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
We would love for you to contribute to `appleboy/ssh-action`, pull requests are welcome!
|
We would love for you to contribute to `appleboy/ssh-action`, pull requests are welcome!
|
||||||
|
|
Loading…
Reference in a new issue