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
					
				
							
								
								
									
										12
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -11,7 +11,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v1 | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: correct password but wrong key | ||||
|         uses: ./ | ||||
| @ -143,7 +143,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v1 | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: pass environment | ||||
|         uses: ./ | ||||
| @ -219,7 +219,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v1 | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: clone private repository | ||||
|         uses: ./ | ||||
| @ -238,7 +238,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v1 | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: login GitHub Container Registry | ||||
|         uses: ./ | ||||
| @ -267,7 +267,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v1 | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: switch to root user | ||||
|         uses: ./ | ||||
| @ -288,7 +288,7 @@ jobs: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v1 | ||||
|         uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - name: Set up WARP | ||||
|         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 | ||||
| ``` | ||||
| 
 | ||||
| ## 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 | ||||
| 
 | ||||
| We would love for you to contribute to `appleboy/ssh-action`, pull requests are welcome! | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Bo-Yi Wu
						Bo-Yi Wu