Skip to content

Commit

Permalink
Merge pull request #18423 from MrKevinWeiss/pr/disable/hashchecks
Browse files Browse the repository at this point in the history
.murdock: disable hash checks of kconfig/make
  • Loading branch information
leandrolanzieri authored Aug 17, 2022
2 parents 0713e0d + a00060f commit 2dd5923
Show file tree
Hide file tree
Showing 23 changed files with 57 additions and 79 deletions.
51 changes: 33 additions & 18 deletions .murdock
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand Down
13 changes: 7 additions & 6 deletions Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -484,11 +484,13 @@ endif

# Check if programmer is supported by the board, only if PROGRAMMERS_SUPPORTED
# is set and if programmer is not iotlab
ifneq (iotlab,$(PROGRAMMER))
ifneq (,$(PROGRAMMERS_SUPPORTED))
ifeq (,$(filter $(PROGRAMMER),$(PROGRAMMERS_SUPPORTED)))
$(info '$(PROGRAMMER)' programmer is not supported by this board. \
Supported programmers: '$(PROGRAMMERS_SUPPORTED)')
ifneq ($(RIOT_CI_BUILD),1)
ifneq (iotlab,$(PROGRAMMER))
ifneq (,$(PROGRAMMERS_SUPPORTED))
ifeq (,$(filter $(PROGRAMMER),$(PROGRAMMERS_SUPPORTED)))
$(info '$(PROGRAMMER)' programmer is not supported by this board. \
Supported programmers: '$(PROGRAMMERS_SUPPORTED)')
endif
endif
endif
endif
Expand Down Expand Up @@ -526,7 +528,6 @@ ifeq ($(RIOT_CI_BUILD),1)
# set a dummy version number
RIOT_VERSION_CODE ?= $(RIOT_VERSION_DUMMY_CODE)
ifneq ($(filter $(BOARD_INSUFFICIENT_MEMORY), $(BOARD)),)
$(info CI-build: skipping link step)
RIOTNOLINK:=1
endif
# be more quiet when building for CI
Expand Down
1 change: 1 addition & 0 deletions boards/avr-rss2/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ config BOARD_AVR_RSS2
select HAVE_SAUL_GPIO
select HAVE_BME280_I2C
select HAVE_AT24MAC
select HAVE_MTD_AT24CXXX


source "$(RIOTBOARD)/common/atmega/Kconfig"
1 change: 1 addition & 0 deletions boards/same54-xpro/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ config BOARD_SAME54_XPRO
select HAVE_AT24MAC
select HAVE_SAM0_ETH
select HAVE_SAM0_SDHC
select HAVE_MTD_AT24CXXX

# This specific board requires SPI_ON_QSPI for the MTD_SPI_NOR
select MODULE_PERIPH_SPI_ON_QSPI if MODULE_MTD_SPI_NOR
46 changes: 0 additions & 46 deletions cpu/efm32/periph/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,49 +8,3 @@
config MODULE_PERIPH
bool
default y

if MODULE_PERIPH

config MODULE_PERIPH_WDT_SERIES0
bool
depends on CPU_EFM32_SERIES0
default MODULE_PERIPH_WDT
help
WDT driver implementation for EFM32 series 0.

config MODULE_PERIPH_WDT_SERIES1
bool
depends on CPU_EFM32_SERIES1
default MODULE_PERIPH_WDT
help
WDT driver implementation for EFM32 series 1.

config MODULE_PERIPH_RTC_SERIES0
bool
depends on CPU_EFM32_SERIES0
default MODULE_PERIPH_RTC
help
RTC driver implementation for EFM32 series 0.

config MODULE_PERIPH_RTC_SERIES1
bool
depends on CPU_EFM32_SERIES1
default MODULE_PERIPH_RTC
help
RTC driver implementation for EFM32 series 1.

config PERIPH_RTT_SERIES0
bool
depends on CPU_EFM32_SERIES0
default MODULE_PERIPH_RTT
help
RTT driver implementation for EFM32 series 0.

config PERIPH_RTT_SERIES1
bool
depends on CPU_EFM32_SERIES1
default MODULE_PERIPH_RTT
help
RTT driver implementation for EFM32 series 1.

endif # MODULE_PERIPH
2 changes: 1 addition & 1 deletion cpu/stm32/periph/Kconfig.eth
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ endif # MODULE_STM32_ETH
config MODULE_PERIPH_ETH
bool
depends on HAS_PERIPH_ETH
select MODULE_PERIPH_ETH_COMMON
select MODULE_PERIPH_ETH_COMMON if CPU_STM32

config MODULE_PERIPH_ETH_COMMON
bool
Expand Down
1 change: 0 additions & 1 deletion drivers/at24cxxx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,5 @@ config MODULE_AT24CXXX
bool
depends on HAS_PERIPH_I2C
depends on TEST_KCONFIG
select HAVE_MTD_AT24CXXX
select MODULE_PERIPH_I2C
select MODULE_XTIMER
1 change: 0 additions & 1 deletion drivers/at25xxx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ config MODULE_AT25XXX
bool "AT25xxx SPI-EEPROMs"
depends on HAS_PERIPH_SPI
depends on TEST_KCONFIG
select HAVE_MTD_AT25XXX
select MODULE_PERIPH_SPI
select MODULE_XTIMER
help
Expand Down
2 changes: 0 additions & 2 deletions drivers/mtd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@

config HAVE_MTD_AT24CXXX
bool
depends on MODULE_AT24CXXX
imply MODULE_MTD_AT24CXXX if MODULE_MTD
help
Indicates that a at24cxxx EEPROM MTD is present

config HAVE_MTD_AT25XXX
bool
depends on MODULE_AT25XXX
imply MODULE_MTD_AT25XXX if MODULE_MTD
help
Indicates that a at25xxx SPI-EEPROM MTD is present
Expand Down
4 changes: 3 additions & 1 deletion drivers/periph_common/Makefile.dep
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# Always use periph_gpio_irq_unmask, if available
FEATURES_OPTIONAL += periph_gpio_ll_irq_unmask
ifneq (,$(filter periph_gpio_ll%,$(USEMODULE)))
FEATURES_OPTIONAL += periph_gpio_ll_irq_unmask
endif
7 changes: 7 additions & 0 deletions makefiles/features_modules.inc.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ PERIPH_IGNORE_MODULES := \
periph_clic \
periph_common \
periph_coretimer \
periph_eth \
periph_eth_common \
periph_flash \
periph_flashpage_in_address_space \
periph_flexcomm \
periph_gpio_ll \
periph_gpio_ll_irq \
Expand All @@ -26,12 +29,16 @@ PERIPH_IGNORE_MODULES := \
periph_i2c_sw \
periph_init% \
periph_mcg \
periph_mcg_lite \
periph_nvm \
periph_plic \
periph_rtc_ms \
periph_rtc_rtt \
periph_rtt_hw_rtc \
periph_rtt_hw_sys \
periph_spi_on_qspi \
periph_uart_collision \
periph_uart_rxstart_irq \
periph_wdog \
#
PERIPH_MODULES := $(filter-out $(PERIPH_IGNORE_MODULES),\
Expand Down
2 changes: 2 additions & 0 deletions sys/cpp11-compat/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ config MODULE_CPP11-COMPAT
depends on HAS_CPP
depends on HAS_LIBSTDCPP


select MODULE_CPP
select MODULE_LIBSTDCPP
select MODULE_CPP_NEW_DELETE
select MODULE_XTIMER
select MODULE_TIMEX
Expand Down
1 change: 0 additions & 1 deletion tests/driver_dfplayer/app.config.test
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CONFIG_MODULE_DFPLAYER=y
# enable event thread in lowest priority
CONFIG_MODULE_EVENT=y
CONFIG_MODULE_EVENT_THREAD=y
CONFIG_MODULE_EVENT_THREAD_LOWEST=y

# enable shell with basic commands
CONFIG_MODULE_SHELL=y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
USEMODULE += board_esp32c3-ci

USEMODULE += esp_idf_heap
USEMODULE += esp_jtag
USEMODULE += esp_log_startup
USEMODULE += esp_log_tagged

Expand Down
1 change: 0 additions & 1 deletion tests/periph_pm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,4 @@ config APPLICATION
imply MODULE_PERIPH_RTC
imply MODULE_PERIPH_GPIO
imply MODULE_PERIPH_GPIO_IRQ
imply MODULE_ZTIMER_NO_PERIPH_RTT if CPU_COMMON_SAM0
depends on TEST_KCONFIG
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ config BOARD_NRF52840DK
select HAVE_MTD_SPI_NOR

select MODULE_BOARDS_COMMON_NRF52XXXDK if TEST_KCONFIG
select MODULE_BOARD_NRF52840DK_QDEC if TEST_KCONFIG

source "$(RIOTBOARD)/common/nrf52xxxdk/Kconfig"
1 change: 0 additions & 1 deletion tests/periph_rtc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ config APPLICATION
default y
imply MODULE_PERIPH_RTC_MEM
imply MODULE_PERIPH_RTC_MS
imply MODULE_ZTIMER_NO_PERIPH_RTT

0 comments on commit 2dd5923

Please sign in to comment.