mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-28 16:01:18 +01:00
.murdock: disable hash checks of kconfig/make
Much CI time is waisted as unrelated hash failure occur. Finding out why is taking some time. In order to stop killing dolphins we will disable only the hash checks. There is a risk of introducing new issues with the kconfig/make dependency resolution. However, the package/module checks are still enforced which should catch 95% of the problems. The nightlies will continue to check as well.
This commit is contained in:
parent
26faa881b6
commit
ee074e4464
51
.murdock
51
.murdock
@ -456,15 +456,23 @@ compile() {
|
||||
|
||||
if get_supported_kconfig_board_app "${board}" "${appdir}"; then
|
||||
should_check_kconfig_hash=1
|
||||
BOARD=${board} make -C${appdir} clean
|
||||
CCACHE_BASEDIR="$(pwd)" BOARD=${board} TOOLCHAIN=${toolchain} RIOT_CI_BUILD=1 TEST_KCONFIG=1 \
|
||||
make -C${appdir} all test-input-hash -j${JOBS:-4}
|
||||
RES=$?
|
||||
if [ $RES -eq 0 ]; then
|
||||
kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)"
|
||||
else
|
||||
kconfig_hashes="kconfig-build-failed"
|
||||
echo "An error occurred while compiling using Kconfig";
|
||||
# As we have some issues with occasional unrelated hash mismatches
|
||||
# we will stop the binary checks and rely only in a module/package
|
||||
# check to ensure kconfig is matching make.
|
||||
# Only nightlies will check the hash...
|
||||
# Once we figure out the problem we can check the hashes again or
|
||||
# better yet just finish!
|
||||
if [ ${NIGHTLY} -eq 1 ]; then
|
||||
BOARD=${board} make -C${appdir} clean
|
||||
CCACHE_BASEDIR="$(pwd)" BOARD=${board} TOOLCHAIN=${toolchain} RIOT_CI_BUILD=1 TEST_KCONFIG=1 \
|
||||
make -C${appdir} all test-input-hash -j${JOBS:-4}
|
||||
RES=$?
|
||||
if [ $RES -eq 0 ]; then
|
||||
kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)"
|
||||
else
|
||||
kconfig_hashes="kconfig-build-failed"
|
||||
echo "An error occurred while compiling using Kconfig";
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -474,22 +482,29 @@ compile() {
|
||||
make -C${appdir} all test-input-hash -j${JOBS:-4}
|
||||
RES=$?
|
||||
|
||||
no_kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)"
|
||||
if [ ${NIGHTLY} -eq 1 ]; then
|
||||
no_kconfig_hashes="$(cat ${BINDIR}/test-input-hash.sha1)"
|
||||
fi
|
||||
# test hash is used to cache test results, not for comparing binaries
|
||||
# generated with and without KConfig
|
||||
test_hash=$(test_hash_calc "$BINDIR")
|
||||
|
||||
|
||||
if [ ${should_check_kconfig_hash} != 0 ]; then
|
||||
if [ "${kconfig_hashes}" != "${no_kconfig_hashes}" ]; then
|
||||
echo "Hashes of binaries with and without Kconfig mismatch for ${appdir} with ${board}";
|
||||
echo "Please check that all used modules are modelled in Kconfig and enabled";
|
||||
echo "Input without KConfig:"
|
||||
echo "${no_kconfig_hashes}"
|
||||
echo "Input with KConfig:"
|
||||
echo "${kconfig_hashes}"
|
||||
if [ ${NIGHTLY} -eq 1 ]; then
|
||||
if [ "${kconfig_hashes}" != "${no_kconfig_hashes}" ]; then
|
||||
echo "Hashes of binaries with and without Kconfig mismatch for ${appdir} with ${board}";
|
||||
echo "Please check that all used modules are modelled in Kconfig and enabled";
|
||||
echo "Input without KConfig:"
|
||||
echo "${no_kconfig_hashes}"
|
||||
echo "Input with KConfig:"
|
||||
echo "${kconfig_hashes}"
|
||||
kconfig_module_packages_diff ${board} ${appdir}
|
||||
RES=1
|
||||
fi
|
||||
else
|
||||
kconfig_module_packages_diff ${board} ${appdir}
|
||||
RES=1
|
||||
RES=$(( $RES | $? ))
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user