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 |     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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Bo-Yi Wu
						Bo-Yi Wu