Misleading error message if "expect" is not available
I tried to deploy an application to a remote server and the process always failed with a bold red error message (the last line from the Shell output below) which is misleading.
Instead of the shown error message, I'd have expected something like "Command line tool expect is not available on your system, please install it first."
./flow surf:deploy --verbose MyApp-staging Deploying MyApp-staging (20121127235530) Using workflow "Simple workflow" Stage initialize Node my-crazy-host Application MyApp Executing stage "initialize" on "my-crazy-host" for application MyApp my-crazy-host (MyApp) typo3.surf:createdirectories $roosta: "test -d /var/www/myapp.ch/staging" > sh: 1: expect: not found Got exception "Deployment directory "/var/www/myapp.ch/staging" does not exist on node my-crazy-host" but rollback disabled. Stopping.
Updated by Irene Höppner about 8 years ago
This would mean to analyse the return value of the command.
Surf isn't designed to do that.
I'm not very experienced in different *.nix systems, but I think the chances are good to have different answers for this problem on different systems/machines/shells. In that case analysing the return of a shell command would be very error prone.
As Surf provides you the return value of the shell command you should be able to analyse that yourselves :-).
Updated by Mario Rimann about 8 years ago
Sure, but then maybe the output of surf could be "optimized" in the following way:Either
- don't make it bold and red (distracts from the real error message)
- accept that we don't know what exactly went wrong and show an error message like "Executing a command on the remote system failed, see the output above/below"