Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.murdock: disable hash checks of kconfig/make #18423

Merged
merged 15 commits into from
Aug 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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