mirror of
				https://github.com/appleboy/drone-ssh.git
				synced 2025-10-29 00:51:15 +08:00 
			
		
		
		
	chore: support Multiline SSH commands interpreted as single lines
https://github.com/appleboy/ssh-action/issues/75
This commit is contained in:
		
							parent
							
								
									77a818a94d
								
							
						
					
					
						commit
						991387fd32
					
				| @ -207,11 +207,12 @@ func (p Plugin) scriptCommands() []string { | ||||
| 	commands := make([]string, 0) | ||||
| 
 | ||||
| 	for _, cmd := range scripts { | ||||
| 		cmd = strings.TrimSpace(cmd) | ||||
| 		if strings.TrimSpace(cmd) == "" { | ||||
| 			continue | ||||
| 		} | ||||
| 		commands = append(commands, cmd) | ||||
| 		if p.Config.ScriptStop { | ||||
| 		if p.Config.ScriptStop && cmd[(len(cmd)-1):] != "\\" { | ||||
| 			commands = append(commands, "DRONE_SSH_PREV_COMMAND_EXIT_CODE=$? ; if [ $DRONE_SSH_PREV_COMMAND_EXIT_CODE -ne 0 ]; then exit $DRONE_SSH_PREV_COMMAND_EXIT_CODE; fi;") | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @ -646,6 +646,17 @@ func TestPlugin_scriptCommands(t *testing.T) { | ||||
| 			}, | ||||
| 			want: []string{"mkdir a", "DRONE_SSH_PREV_COMMAND_EXIT_CODE=$? ; if [ $DRONE_SSH_PREV_COMMAND_EXIT_CODE -ne 0 ]; then exit $DRONE_SSH_PREV_COMMAND_EXIT_CODE; fi;", "mkdir c", "DRONE_SSH_PREV_COMMAND_EXIT_CODE=$? ; if [ $DRONE_SSH_PREV_COMMAND_EXIT_CODE -ne 0 ]; then exit $DRONE_SSH_PREV_COMMAND_EXIT_CODE; fi;", "mkdir b", "DRONE_SSH_PREV_COMMAND_EXIT_CODE=$? ; if [ $DRONE_SSH_PREV_COMMAND_EXIT_CODE -ne 0 ]; then exit $DRONE_SSH_PREV_COMMAND_EXIT_CODE; fi;"}, | ||||
| 		}, | ||||
| 		// See: https://github.com/appleboy/ssh-action/issues/75#issuecomment-668314271
 | ||||
| 		{ | ||||
| 			name: "Multiline SSH commands interpreted as single lines", | ||||
| 			fields: fields{ | ||||
| 				Config: Config{ | ||||
| 					Script:     []string{"ls \\ ", "-lah", "mkdir a"}, | ||||
| 					ScriptStop: true, | ||||
| 				}, | ||||
| 			}, | ||||
| 			want: []string{"ls \\", "-lah", "DRONE_SSH_PREV_COMMAND_EXIT_CODE=$? ; if [ $DRONE_SSH_PREV_COMMAND_EXIT_CODE -ne 0 ]; then exit $DRONE_SSH_PREV_COMMAND_EXIT_CODE; fi;", "mkdir a", "DRONE_SSH_PREV_COMMAND_EXIT_CODE=$? ; if [ $DRONE_SSH_PREV_COMMAND_EXIT_CODE -ne 0 ]; then exit $DRONE_SSH_PREV_COMMAND_EXIT_CODE; fi;"}, | ||||
| 		}, | ||||
| 		{ | ||||
| 			name: "trim space", | ||||
| 			fields: fields{ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Bo-Yi Wu
						Bo-Yi Wu