diff --git a/plugin.go b/plugin.go index 8458e76..401f192 100644 --- a/plugin.go +++ b/plugin.go @@ -195,6 +195,9 @@ func (p Plugin) scriptCommands() []string { commands := make([]string, 0) for _, cmd := range scripts { + if strings.TrimSpace(cmd) == "" { + continue + } commands = append(commands, cmd) if p.Config.ScriptStop { 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;") diff --git a/plugin_test.go b/plugin_test.go index 355b15c..fedb0ad 100644 --- a/plugin_test.go +++ b/plugin_test.go @@ -569,6 +569,16 @@ 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;"}, }, + { + name: "trim space", + fields: fields{ + Config: Config{ + Script: []string{"mkdir a", "mkdir b", "\t", " "}, + ScriptStop: false, + }, + }, + want: []string{"mkdir a", "mkdir b"}, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {