CI build_examples: Don't stop on first failed example, print failure summary

This commit is contained in:
Angus Gratton 2016-12-30 16:13:07 +11:00
parent eb8324e2c2
commit 6b87419d42

View file

@ -11,11 +11,10 @@
EXAMPLE_NUM=1
RESULT=0
FAILED_EXAMPLES=""
RESULT_WARNINGS=22 # magic number result code for "warnings found"
set -e
for example in ${IDF_PATH}/examples/*; do
[ -f ${example}/Makefile ] || continue
echo "Building ${example} as ${EXAMPLE_NUM}..."
@ -34,13 +33,13 @@ for example in ${IDF_PATH}/examples/*; do
set -e
make clean defconfig
make $* all 2>&1 | tee $BUILDLOG
) || { RESULT=$?; make V=1; } # only build verbose if there's an error
) || { RESULT=$?; FAILED_EXAMPLES+=" ${example}"; make V=1; } # only build verbose if there's an error
popd
EXAMPLE_NUM=$(( $EXAMPLE_NUM + 1 ))
if [ $RESULT -eq 0 ] && grep -q ": warning:" $BUILDLOG; then
echo "Build will fail, due to warnings in this example"
RESULT=$RESULT_WARNINGS
if grep -q ": warning:" $BUILDLOG; then
[ $RESULT -eq 0 ] && RESULT=$RESULT_WARNINGS
FAILED_EXAMPLES+=" ${example} (warnings)"
fi
rm -f $BUILDLOG
@ -50,5 +49,7 @@ if [ $RESULT -eq $RESULT_WARNINGS ]; then
echo "Build would have passed, except for warnings."
fi
[ $RESULT -eq 0 ] || echo "Failed examples: $FAILED_EXAMPLES"
exit $RESULT