diff --git a/.murdock b/.murdock index a338e1e10c..8fa9030d73 100755 --- a/.murdock +++ b/.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