[PATCH openbmc-build-scripts v2] build-setup: Ensure we fail the build when a step fails

Daniel Axtens dja at axtens.net
Mon Feb 15 13:37:25 AEDT 2016


Hi Joel,

Looks great!

Reviewed-by: Daniel Axtens <dja at axtens.net>

Regards,
Daniel

OpenBMC Patches <openbmc-patches at stwcx.xyz> writes:

> From: Joel Stanley <joel at jms.id.au>
>
> Currently the build step can fail inside docker but we don't propogate
> that error up, so the Jenkins build will not be marked as failed.
>
> We set the following options:
>
>  set -xeuo pipefail
>
>  - bash trace output (-x)
>  - failing when a step fails (-e)
>  - failing on undefined variables (-u)
>  - failing when a command in a pipe fails (-o pipefail) - the default
>  behaviour is to use the exit code of the final command in the pipe.
>
> http://redsymbol.net/articles/unofficial-bash-strict-mode/
>
> Thanks to Daniel Axtens <dja at axtens.net> for the extra suggestions.
>
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> ---
>  build-setup.sh | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/build-setup.sh b/build-setup.sh
> index a96ed44..9c156f7 100755
> --- a/build-setup.sh
> +++ b/build-setup.sh
> @@ -7,8 +7,8 @@
>  #   distro = fedora|ubuntu
>  #   WORKSPACE = 
>  
> -# Trace bash processing
> -set -x
> +# Trace bash processing. Set -e so when a step fails, we fail the build
> +set -xeuo pipefail
>  
>  # Default variables
>  target=${target:-qemu}
> @@ -85,10 +85,6 @@ fi
>  
>  # Build the docker container
>  docker build -t openbmc/${distro} - <<< "${Dockerfile}"
> -if [[ "$?" -ne 0 ]]; then
> -  echo "Failed to build docker container."
> -  exit 1
> -fi
>  
>  # Create the docker run script
>  export PROXY_HOST=${http_proxy/#http*:\/\/}
> @@ -100,7 +96,7 @@ mkdir -p ${WORKSPACE}
>  cat > "${WORKSPACE}"/build.sh << EOF_SCRIPT
>  #!/bin/bash
>  
> -set -x
> +set -xeuo pipefail
>  
>  cd ${WORKSPACE}
>  
> -- 
> 2.7.1
>
>
> _______________________________________________
> openbmc mailing list
> openbmc at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/openbmc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20160215/50a79bf3/attachment.sig>


More information about the openbmc mailing list