ci: Detect undetectable failures in build_examples

This commit is contained in:
Anton Maklakov 2018-10-31 18:33:51 +08:00
parent 124919bfc6
commit 0fb6f619c5
2 changed files with 8 additions and 2 deletions

View File

@ -218,6 +218,8 @@ build_esp_idf_tests:
.build_examples_make_template: &build_examples_make_template
<<: *build_template
# This is a workaround for a rarely encountered issue with building examples in CI.
# Probably related to building of Kconfig in 'make clean' stage
retry: 1
artifacts:
when: always
@ -251,7 +253,6 @@ build_esp_idf_tests:
# same as above, but for CMake
.build_examples_cmake_template: &build_examples_cmake_template
<<: *build_template
retry: 1
artifacts:
when: always
paths:

View File

@ -121,14 +121,19 @@ build_example () {
local BUILDLOG=${LOG_PATH}/ex_${ID}_log.txt
touch ${BUILDLOG}
local FLASH_ARGS=build/download.config
make clean >>${BUILDLOG} 2>&1 &&
make defconfig >>${BUILDLOG} 2>&1 &&
make all >>${BUILDLOG} 2>&1 &&
( make print_flash_cmd | tail -n 1 >build/download.config ) >>${BUILDLOG} 2>&1 ||
make print_flash_cmd >${FLASH_ARGS}.full 2>>${BUILDLOG} ||
{
RESULT=$?; FAILED_EXAMPLES+=" ${EXAMPLE_NAME}" ;
}
tail -n 1 ${FLASH_ARGS}.full > ${FLASH_ARGS} || :
test -s ${FLASH_ARGS} || die "Error: ${FLASH_ARGS} file is empty"
cat ${BUILDLOG}
popd