change(ci): split test_apps build-test-rules, add missing code owners

This commit is contained in:
Ivan Grokhotkov 2024-04-17 09:44:19 +02:00
parent eded4eabf6
commit 545203f1c8
No known key found for this signature in database
GPG Key ID: 1E050E141B280628
10 changed files with 246 additions and 233 deletions

View File

@ -206,13 +206,19 @@
/tools/ldgen/ @esp-idf-codeowners/build-config
/tools/mass_mfg/ @esp-idf-codeowners/app-utilities
/tools/mocks/ @esp-idf-codeowners/system
/tools/test_apps/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
/tools/test_apps/ @esp-idf-codeowners/ci
/tools/test_apps/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
## Note: owners here should be the same as the owners for the same example subdir, above
/tools/test_apps/build_system/ @esp-idf-codeowners/build-config
/tools/test_apps/configs/ @esp-idf-codeowners/system
/tools/test_apps/linux_compatible/ @esp-idf-codeowners/system
/tools/test_apps/peripherals/ @esp-idf-codeowners/peripherals
/tools/test_apps/phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/tools/test_apps/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/tools/test_apps/security/ @esp-idf-codeowners/security
/tools/test_apps/storage/ @esp-idf-codeowners/storage
/tools/test_apps/system/ @esp-idf-codeowners/system
/tools/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools

View File

@ -1,232 +0,0 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/build_system/bootloader:
disable:
- if: IDF_TARGET == "linux"
reason: the test should run on all targets except linux
tools/test_apps/build_system/custom_partition_subtypes:
enable:
- if: IDF_TARGET in ["esp32", "linux"]
reason: the test should be run on ESP32 and linux
tools/test_apps/build_system/embed_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3"]
temporary: false
reason: Hardware independent feature, no need to test on all targets
tools/test_apps/build_system/ld_non_contiguous_memory:
disable:
- if: SOC_MEM_NON_CONTIGUOUS_SRAM != 1
tools/test_apps/linux_compatible/generic_build_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "linux"]
depends_components:
- log
tools/test_apps/linux_compatible/linux_freertos:
enable:
- if: IDF_TARGET == "linux"
tools/test_apps/linux_compatible/mock_build_test:
enable:
- if: IDF_TARGET == "linux"
tools/test_apps/peripherals/i2c_wifi:
disable:
- if: SOC_I2C_SUPPORTED != 1 or SOC_WIFI_SUPPORTED != 1
tools/test_apps/phy/phy_multi_init_data_test:
disable:
- if: SOC_WIFI_SUPPORTED != 1
tools/test_apps/phy/phy_tsens:
disable:
- if: SOC_WIFI_SUPPORTED != 1 or SOC_TEMP_SENSOR_SUPPORTED != 1
depends_components:
- hal
- driver
- esp_phy
- esp_hw_support
- esp_wifi
tools/test_apps/protocols/esp_netif/build_config:
enable:
- if: IDF_TARGET in ["esp32", "esp32c2"]
temporary: false
reason: No need to test on all targets
tools/test_apps/protocols/mqtt/publish_connect_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "esp32s2"]
temporary: true
reason: the other targets are not tested yet
disable_test:
- if: IDF_TARGET == "esp32s2" or IDF_TARGET == "esp32c3"
temporary: true
reason: lack of runners
depends_components:
- esp_eth
depends_filepatterns:
- tools/ci/python_packages/common_test_methods.py
- examples/common_components/**/*
- examples/protocols/**/*
- examples/system/ota/**/*
- examples/ethernet/iperf/**/*
- examples/network/vlan_support/**/*
- components/esp_netif/esp_netif_handlers.c
tools/test_apps/protocols/netif_components:
enable:
- if: IDF_TARGET == "esp32"
temporary: true
reason: one target is enough to verify netif component dependencies
tools/test_apps/security/secure_boot:
disable:
- if: IDF_ENV_FPGA != 1
reason: the test can only run on an FPGA as efuses need to be reset during the test.
tools/test_apps/security/signed_app_no_secure_boot:
enable:
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
temporary: true
reason: No need to test on all targets
tools/test_apps/storage/partition_table_readonly:
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3"]
reason: these chips should be sufficient for test coverage (Xtensa and RISC-V, single and dual core)
disable:
- if: CONFIG_NAME == "encrypted"
temporary: true
reason: there are potential bugs with pytest when using flash encryption and NVS partition with nvs_create_partition_image #TODO: IDF-8300
depends_components:
- partition_table
- spi_flash
- esp_partition
- nvs_flash
- vfs
- fatfs
- spiffs
tools/test_apps/storage/sdmmc_console:
disable:
- if: IDF_TARGET in ["esp32h2"]
temporary: true
reason: Console component not supported on H2 yet
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32s2", "esp32c3"]
temporary: true
reason: No runners for other targets yet
depends_components:
- sdmmc
- esp_driver_sdmmc
- esp_driver_sdspi
tools/test_apps/system/bootloader_sections:
disable:
- if: CONFIG_NAME == "rtc_retain" and SOC_RTC_FAST_MEM_SUPPORTED != 1
tools/test_apps/system/build_test:
disable:
- if: CONFIG_NAME == "no_rvfplib" and ESP_ROM_HAS_RVFPLIB != 1
- if: CONFIG_NAME == "usb_serial_jtag" AND SOC_USB_SERIAL_JTAG_SUPPORTED != 1
- if: CONFIG_NAME == "usb_console_ets_printf" AND SOC_USB_OTG_SUPPORTED != 1
- if: CONFIG_NAME == "phy_multiple_init_data" AND IDF_TARGET == "esp32p4" # Update with caps here when IDF-7460 is resolved
tools/test_apps/system/cxx_no_except:
enable:
- if: IDF_TARGET == "esp32" or IDF_TARGET == "esp32c3"
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/cxx_pthread_bluetooth:
enable:
- if: IDF_TARGET in ["esp32", "esp32c2", "esp32c3", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not supported yet
tools/test_apps/system/eh_frame:
enable:
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/g0_components:
enable:
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET in ["esp32p4", "esp32c5", "esp32c61"] # preview targets
tools/test_apps/system/g1_components:
tools/test_apps/system/gdb_loadable_elf:
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
disable:
- if: IDF_TARGET == "esp32c6" or IDF_TARGET == "esp32h2"
temporary: true
reason: target esp32c6, esp32h2 is not supported yet
tools/test_apps/system/gdbstub_runtime:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported yet #TODO: IDF-7510
tools/test_apps/system/longjmp_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not tested yet
disable_test:
- if: IDF_TARGET == "esp32s3"
temporary: true
reason: lack of runners
tools/test_apps/system/memprot:
enable:
- if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/no_embedded_paths:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "esp32s2"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/panic:
enable:
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET in ["esp32p4"] # preview targets
tools/test_apps/system/ram_loadable_app:
disable:
- if: IDF_TARGET == "esp32c5"
temporary: true
reason: not supported # TODO: [ESP32C5] IDF-8644
disable_test:
- if: IDF_TARGET in ["esp32p4"]
temporary: true
reason: TBD # TODO: IDF-8994
tools/test_apps/system/rtc_mem_reserve:
enable:
- if: IDF_TARGET in ["esp32p4"]
reason: only P4 has a potential conflict due to using rtc mem for lp rom data/stack
tools/test_apps/system/startup:
disable:
- if: CONFIG_NAME == "main_task_cpu1" and IDF_TARGET not in ["esp32", "esp32s3"]
tools/test_apps/system/test_watchpoint:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3"] # Just one test per architecture
tools/test_apps/system/unicore_bootloader:
enable:
- if: SOC_CPU_CORES_NUM > 1
reason: the test should be run on multicore chips

View File

@ -0,0 +1,21 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/build_system/bootloader:
disable:
- if: IDF_TARGET == "linux"
reason: the test should run on all targets except linux
tools/test_apps/build_system/custom_partition_subtypes:
enable:
- if: IDF_TARGET in ["esp32", "linux"]
reason: the test should be run on ESP32 and linux
tools/test_apps/build_system/embed_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3"]
temporary: false
reason: Hardware independent feature, no need to test on all targets
tools/test_apps/build_system/ld_non_contiguous_memory:
disable:
- if: SOC_MEM_NON_CONTIGUOUS_SRAM != 1

View File

@ -0,0 +1,15 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/linux_compatible/generic_build_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "linux"]
depends_components:
- log
tools/test_apps/linux_compatible/linux_freertos:
enable:
- if: IDF_TARGET == "linux"
tools/test_apps/linux_compatible/mock_build_test:
enable:
- if: IDF_TARGET == "linux"

View File

@ -0,0 +1,5 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/peripherals/i2c_wifi:
disable:
- if: SOC_I2C_SUPPORTED != 1 or SOC_WIFI_SUPPORTED != 1

View File

@ -0,0 +1,15 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/phy/phy_multi_init_data_test:
disable:
- if: SOC_WIFI_SUPPORTED != 1
tools/test_apps/phy/phy_tsens:
disable:
- if: SOC_WIFI_SUPPORTED != 1 or SOC_TEMP_SENSOR_SUPPORTED != 1
depends_components:
- hal
- driver
- esp_phy
- esp_hw_support
- esp_wifi

View File

@ -0,0 +1,33 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/protocols/esp_netif/build_config:
enable:
- if: IDF_TARGET in ["esp32", "esp32c2"]
temporary: false
reason: No need to test on all targets
tools/test_apps/protocols/mqtt/publish_connect_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "esp32s2"]
temporary: true
reason: the other targets are not tested yet
disable_test:
- if: IDF_TARGET == "esp32s2" or IDF_TARGET == "esp32c3"
temporary: true
reason: lack of runners
depends_components:
- esp_eth
depends_filepatterns:
- tools/ci/python_packages/common_test_methods.py
- examples/common_components/**/*
- examples/protocols/**/*
- examples/system/ota/**/*
- examples/ethernet/iperf/**/*
- examples/network/vlan_support/**/*
- components/esp_netif/esp_netif_handlers.c
tools/test_apps/protocols/netif_components:
enable:
- if: IDF_TARGET == "esp32"
temporary: true
reason: one target is enough to verify netif component dependencies

View File

@ -0,0 +1,12 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/security/secure_boot:
disable:
- if: IDF_ENV_FPGA != 1
reason: the test can only run on an FPGA as efuses need to be reset during the test.
tools/test_apps/security/signed_app_no_secure_boot:
enable:
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
temporary: true
reason: No need to test on all targets

View File

@ -0,0 +1,32 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/storage/partition_table_readonly:
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3"]
reason: these chips should be sufficient for test coverage (Xtensa and RISC-V, single and dual core)
disable:
- if: CONFIG_NAME == "encrypted"
temporary: true
reason: there are potential bugs with pytest when using flash encryption and NVS partition with nvs_create_partition_image #TODO: IDF-8300
depends_components:
- partition_table
- spi_flash
- esp_partition
- nvs_flash
- vfs
- fatfs
- spiffs
tools/test_apps/storage/sdmmc_console:
disable:
- if: IDF_TARGET in ["esp32h2"]
temporary: true
reason: Console component not supported on H2 yet
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32s2", "esp32c3"]
temporary: true
reason: No runners for other targets yet
depends_components:
- sdmmc
- esp_driver_sdmmc
- esp_driver_sdspi

View File

@ -0,0 +1,106 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
tools/test_apps/system/bootloader_sections:
disable:
- if: CONFIG_NAME == "rtc_retain" and SOC_RTC_FAST_MEM_SUPPORTED != 1
tools/test_apps/system/build_test:
disable:
- if: CONFIG_NAME == "no_rvfplib" and ESP_ROM_HAS_RVFPLIB != 1
- if: CONFIG_NAME == "usb_serial_jtag" AND SOC_USB_SERIAL_JTAG_SUPPORTED != 1
- if: CONFIG_NAME == "usb_console_ets_printf" AND SOC_USB_OTG_SUPPORTED != 1
- if: CONFIG_NAME == "phy_multiple_init_data" AND IDF_TARGET == "esp32p4" # Update with caps here when IDF-7460 is resolved
tools/test_apps/system/cxx_no_except:
enable:
- if: IDF_TARGET == "esp32" or IDF_TARGET == "esp32c3"
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/cxx_pthread_bluetooth:
enable:
- if: IDF_TARGET in ["esp32", "esp32c2", "esp32c3", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not supported yet
tools/test_apps/system/eh_frame:
enable:
- if: IDF_TARGET in ["esp32c2", "esp32c3"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/g0_components:
enable:
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET in ["esp32p4", "esp32c5", "esp32c61"] # preview targets
tools/test_apps/system/g1_components:
tools/test_apps/system/gdb_loadable_elf:
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
disable:
- if: IDF_TARGET == "esp32c6" or IDF_TARGET == "esp32h2"
temporary: true
reason: target esp32c6, esp32h2 is not supported yet
tools/test_apps/system/gdbstub_runtime:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported yet #TODO: IDF-7510
tools/test_apps/system/longjmp_test:
enable:
- if: IDF_TARGET in ["esp32", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not tested yet
disable_test:
- if: IDF_TARGET == "esp32s3"
temporary: true
reason: lack of runners
tools/test_apps/system/memprot:
enable:
- if: IDF_TARGET in ["esp32c3", "esp32s2", "esp32s3"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/no_embedded_paths:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3", "esp32s2"]
temporary: true
reason: the other targets are not tested yet
tools/test_apps/system/panic:
enable:
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET in ["esp32p4"] # preview targets
tools/test_apps/system/ram_loadable_app:
disable:
- if: IDF_TARGET == "esp32c5"
temporary: true
reason: not supported # TODO: [ESP32C5] IDF-8644
disable_test:
- if: IDF_TARGET in ["esp32p4"]
temporary: true
reason: TBD # TODO: IDF-8994
tools/test_apps/system/rtc_mem_reserve:
enable:
- if: IDF_TARGET in ["esp32p4"]
reason: only P4 has a potential conflict due to using rtc mem for lp rom data/stack
tools/test_apps/system/startup:
disable:
- if: CONFIG_NAME == "main_task_cpu1" and IDF_TARGET not in ["esp32", "esp32s3"]
tools/test_apps/system/test_watchpoint:
enable:
- if: IDF_TARGET in ["esp32", "esp32c3"] # Just one test per architecture
tools/test_apps/system/unicore_bootloader:
enable:
- if: SOC_CPU_CORES_NUM > 1
reason: the test should be run on multicore chips