fix: build/test not failing even without keep-going
Shell pipes normally return the the status code of the last command of the pipe, while we are here interested in the first one. Setting the pipefail option in bash makes sure that any non-zero exit code in the pipe will result in a non-zero exit code of the whole pipe.