By default codefresh adds
set -e to the beginning of the freestyle step commands list so the step will be considered as failed on first command returning non-zero exitcode.
However, you might need to reconfigure what is considered an error for some commands for example
terraform plan with
--detailed-exitcode flag which will return 2 when there are changes to apply
To override the default behavior you just need to put
set +e before
the command (or a group of commands) that shouldn't fail the whole step
and set it back with
set -e to get back to the default behavior for all further commands in the step.
commands: - set +e - terraform plan -out terraform-plan -input=false -detailed-exitcode - cf_export t_exitcode=$? - set -e - echo $t_exitcode ...