Merge #15549: gitian: Improve error handling
32da92bdf6
gitian: Improve error handling (Wladimir J. van der Laan)
Pull request description:
Improve error handling in gitian builds:
- Set fail-on-error and pipefail flag, this causes a command to fail when either of the pipe stages fails, not only when the last of the stages fails, so this improves error detection.
- Also use `xargs` instead of `find -exec`, because `find` will not propagate errors in the executed command, but `xargs` will.
This will avoid some issues like #15541 where non-determinism is silently introduced due to errors caused by environment conditions (such as lack of disk space in that case).
Tree-SHA512: d5d3f22ce2d04a75e5c25e935744327c3adc704c2d303133f2918113573a564dff3d3243d5569a2b93ee7eb0e97f8e1b1ba81767e966af9015ea711a14091035
This commit is contained in:
commit
12408d33c6
6 changed files with 12 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
if [ $# -ne 3 ];
|
if [ $# -ne 3 ];
|
||||||
then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
|
then echo "usage: $0 <input> <stripped-binary> <debug-binary>"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -36,6 +36,7 @@ remotes:
|
||||||
"dir": "bitcoin"
|
"dir": "bitcoin"
|
||||||
files: []
|
files: []
|
||||||
script: |
|
script: |
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu"
|
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu"
|
||||||
|
@ -179,8 +180,8 @@ script: |
|
||||||
find . -name "lib*.la" -delete
|
find . -name "lib*.la" -delete
|
||||||
find . -name "lib*.a" -delete
|
find . -name "lib*.a" -delete
|
||||||
rm -rf ${DISTNAME}/lib/pkgconfig
|
rm -rf ${DISTNAME}/lib/pkgconfig
|
||||||
find ${DISTNAME}/bin -type f -executable -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
|
find ${DISTNAME}/bin -type f -executable -print0 | xargs -0 -n1 -I{} ../contrib/devtools/split-debug.sh {} {} {}.dbg
|
||||||
find ${DISTNAME}/lib -type f -exec ../contrib/devtools/split-debug.sh {} {} {}.dbg \;
|
find ${DISTNAME}/lib -type f -print0 | xargs -0 -n1 -I{} ../contrib/devtools/split-debug.sh {} {} {}.dbg
|
||||||
cp ../doc/README.md ${DISTNAME}/
|
cp ../doc/README.md ${DISTNAME}/
|
||||||
find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
|
find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
|
||||||
find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
|
find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
|
||||||
|
|
|
@ -12,6 +12,8 @@ remotes:
|
||||||
files:
|
files:
|
||||||
- "bitcoin-osx-unsigned.tar.gz"
|
- "bitcoin-osx-unsigned.tar.gz"
|
||||||
script: |
|
script: |
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
mkdir -p ${WRAP_DIR}
|
mkdir -p ${WRAP_DIR}
|
||||||
export PATH=`pwd`:$PATH
|
export PATH=`pwd`:$PATH
|
||||||
|
|
|
@ -33,6 +33,8 @@ remotes:
|
||||||
files:
|
files:
|
||||||
- "MacOSX10.11.sdk.tar.gz"
|
- "MacOSX10.11.sdk.tar.gz"
|
||||||
script: |
|
script: |
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="x86_64-apple-darwin14"
|
HOSTS="x86_64-apple-darwin14"
|
||||||
CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests GENISOIMAGE=$WRAP_DIR/genisoimage"
|
CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests GENISOIMAGE=$WRAP_DIR/genisoimage"
|
||||||
|
|
|
@ -16,6 +16,8 @@ files:
|
||||||
- "osslsigncode-Backports-to-1.7.1.patch"
|
- "osslsigncode-Backports-to-1.7.1.patch"
|
||||||
- "bitcoin-win-unsigned.tar.gz"
|
- "bitcoin-win-unsigned.tar.gz"
|
||||||
script: |
|
script: |
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
BUILD_DIR=`pwd`
|
BUILD_DIR=`pwd`
|
||||||
SIGDIR=${BUILD_DIR}/signature/win
|
SIGDIR=${BUILD_DIR}/signature/win
|
||||||
UNSIGNED_DIR=${BUILD_DIR}/unsigned
|
UNSIGNED_DIR=${BUILD_DIR}/unsigned
|
||||||
|
|
|
@ -27,6 +27,8 @@ remotes:
|
||||||
"dir": "bitcoin"
|
"dir": "bitcoin"
|
||||||
files: []
|
files: []
|
||||||
script: |
|
script: |
|
||||||
|
set -e -o pipefail
|
||||||
|
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="i686-w64-mingw32 x86_64-w64-mingw32"
|
HOSTS="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||||
CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests"
|
CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests"
|
||||||
|
|
Loading…
Reference in a new issue