====== 2017-03-16 - starting a script ====== some time ago we had an issue on [[wp>continuous integration|CI]] build machines. on test environment, failed builds did not fail. all CI did was to run a simple bash script -- sth along these lines: #!/bin/bash -ex cd /build/path cmake /source/dir ninja ctest we double-checked that build errors failed the script locally, but not on our CI. after a bit of digging it turned out that CI is running scripts like this: bash /path/to/ci/script while we run these "the usual way": cd /path/to/ci ./script difference? when source-running, bash-bang is ignored! :) this in turn means that stopping on error was not honored -- the rest you already know. answer? update your script: #!/bin/bash set -ex # NOTE: changing shell settings inside the script, not bash-bang cd /build/path cmake /source/dir ninja ctest