diff --git a/components/esp_hal_security/.build-test-rules.yml b/components/esp_hal_security/.build-test-rules.yml index e10f0a47a91..8d7598acef4 100644 --- a/components/esp_hal_security/.build-test-rules.yml +++ b/components/esp_hal_security/.build-test-rules.yml @@ -8,5 +8,8 @@ components/esp_hal_security/test_apps/crypto: - esp_security components/esp_hal_security/test_apps/tee: + disable+: + - if: IDF_BUILD_V2 == "1" + reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps. disable: - if: IDF_TARGET not in ["esp32c6", "esp32h2", "esp32c5", "esp32c61", "esp32p4"] diff --git a/components/esp_hw_support/test_apps/.build-test-rules.yml b/components/esp_hw_support/test_apps/.build-test-rules.yml index d7b2f899479..9949960095f 100644 --- a/components/esp_hw_support/test_apps/.build-test-rules.yml +++ b/components/esp_hw_support/test_apps/.build-test-rules.yml @@ -103,6 +103,8 @@ components/esp_hw_support/test_apps/vad_wakeup: - ulp - soc disable: + - if: IDF_BUILD_V2 == "1" + reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps. - if: SOC_LP_VAD_SUPPORTED != 1 components/esp_hw_support/test_apps/wakeup_tests: diff --git a/components/esp_pm/test_apps/esp_pm/main/CMakeLists.txt b/components/esp_pm/test_apps/esp_pm/main/CMakeLists.txt index c58652fb512..38ec64772db 100644 --- a/components/esp_pm/test_apps/esp_pm/main/CMakeLists.txt +++ b/components/esp_pm/test_apps/esp_pm/main/CMakeLists.txt @@ -10,4 +10,5 @@ endif() idf_component_register(SRCS ${sources} INCLUDE_DIRS "." PRIV_REQUIRES unity esp_pm ulp esp_timer esp_psram esp_driver_gptimer vfs esp_hal_gpio + esp_driver_gpio WHOLE_ARCHIVE) diff --git a/components/ulp/test_apps/.build-test-rules.yml b/components/ulp/test_apps/.build-test-rules.yml index 8d8d7163435..dc57d4a67ac 100644 --- a/components/ulp/test_apps/.build-test-rules.yml +++ b/components/ulp/test_apps/.build-test-rules.yml @@ -1,6 +1,12 @@ # Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps +.ulp_legacy_buildv2_disable: &ulp_legacy_buildv2_disable + if: IDF_BUILD_V2 == "1" + reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps. + components/ulp/test_apps/lp_core/lp_core_basic_tests: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: SOC_LP_CORE_SUPPORTED != 1 - if: CONFIG_NAME == "xtal" and SOC_CLK_LP_FAST_SUPPORT_XTAL != 1 @@ -20,6 +26,8 @@ components/ulp/test_apps/lp_core/lp_core_basic_tests: components/ulp/test_apps/lp_core/lp_core_gpio_wakeup_tests: + disable: + - *ulp_legacy_buildv2_disable enable: - if: (SOC_LP_CORE_SUPPORTED == 1) and (SOC_RTCIO_PIN_COUNT > 0) and (SOC_DEEP_SLEEP_SUPPORTED == 1) and (SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED == 1) depends_components: @@ -31,6 +39,8 @@ components/ulp/test_apps/lp_core/lp_core_gpio_wakeup_tests: components/ulp/test_apps/lp_core/lp_core_hp_mem: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: SOC_LP_CORE_SUPPORTED != 1 depends_components: @@ -41,6 +51,8 @@ components/ulp/test_apps/lp_core/lp_core_hp_mem: components/ulp/test_apps/lp_core/lp_core_hp_uart: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: SOC_LP_CORE_SUPPORTED != 1 depends_components: @@ -51,6 +63,8 @@ components/ulp/test_apps/lp_core/lp_core_hp_uart: components/ulp/test_apps/ulp_fsm: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_ULP_FSM_SUPPORTED == 1 depends_components: @@ -61,6 +75,8 @@ components/ulp/test_apps/ulp_fsm: components/ulp/test_apps/ulp_riscv: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: SOC_RISCV_COPROC_SUPPORTED != 1 depends_components: diff --git a/examples/system/ulp/.build-test-rules.yml b/examples/system/ulp/.build-test-rules.yml index c74d218d22c..da7398c0585 100644 --- a/examples/system/ulp/.build-test-rules.yml +++ b/examples/system/ulp/.build-test-rules.yml @@ -6,12 +6,20 @@ - esp_hw_support - esp_hal_pmu +.ulp_legacy_buildv2_disable: &ulp_legacy_buildv2_disable + if: IDF_BUILD_V2 == "1" + reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps. + examples/system/ulp/lp_core/build_system: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_CORE_SUPPORTED == 1 <<: *ulp_default_depends examples/system/ulp/lp_core/debugging: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_CORE_SUPPORTED == 1 disable_test: @@ -21,6 +29,8 @@ examples/system/ulp/lp_core/debugging: <<: *ulp_default_depends examples/system/ulp/lp_core/gpio: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: SOC_DEEP_SLEEP_SUPPORTED != 1 enable: @@ -30,6 +40,8 @@ examples/system/ulp/lp_core/gpio: - esp_hal_gpio examples/system/ulp/lp_core/gpio_intr_pulse_counter: + disable: + - *ulp_legacy_buildv2_disable enable: - if: (SOC_LP_CORE_SUPPORTED == 1) and (SOC_ULP_LP_UART_SUPPORTED == 1 and SOC_DEEP_SLEEP_SUPPORTED == 1) <<: *ulp_default_depends @@ -37,6 +49,8 @@ examples/system/ulp/lp_core/gpio_intr_pulse_counter: - esp_hal_gpio examples/system/ulp/lp_core/gpio_wakeup: + disable: + - *ulp_legacy_buildv2_disable enable: - if: (SOC_LP_CORE_SUPPORTED == 1) and (SOC_RTCIO_PIN_COUNT > 0) and (SOC_DEEP_SLEEP_SUPPORTED == 1) and (SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED == 1) # TODO: [ESP32S31] IDF-15884 SOC_RTC_GPIO_EDGE_WAKEUP_SUPPORTED not declared yet <<: *ulp_default_depends @@ -45,16 +59,22 @@ examples/system/ulp/lp_core/gpio_wakeup: - esp_hal_gpio examples/system/ulp/lp_core/inter_cpu_critical_section/: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_CORE_SUPPORTED == 1 <<: *ulp_default_depends examples/system/ulp/lp_core/interrupt: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_CORE_SUPPORTED == 1 <<: *ulp_default_depends examples/system/ulp/lp_core/lp_adc: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: (SOC_LP_ADC_SUPPORTED != 1) <<: *ulp_default_depends @@ -64,6 +84,8 @@ examples/system/ulp/lp_core/lp_adc: - esp_hal_uart examples/system/ulp/lp_core/lp_i2c: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_CORE_SUPPORT_I2C == 1 and (SOC_DEEP_SLEEP_SUPPORTED == 1 and SOC_LP_CORE_SUPPORTED == 1) <<: *ulp_default_depends @@ -71,11 +93,15 @@ examples/system/ulp/lp_core/lp_i2c: - esp_hal_i2c examples/system/ulp/lp_core/lp_mailbox: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_CORE_SUPPORTED == 1 <<: *ulp_default_depends examples/system/ulp/lp_core/lp_spi: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_LP_SPI_SUPPORTED == 1 and SOC_DEEP_SLEEP_SUPPORTED == 1 <<: *ulp_default_depends @@ -83,11 +109,15 @@ examples/system/ulp/lp_core/lp_spi: - esp_hal_gpspi examples/system/ulp/lp_core/lp_timer_interrupt: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: (SOC_LP_CORE_SUPPORTED != 1) or (SOC_LP_TIMER_SUPPORTED != 1) <<: *ulp_default_depends examples/system/ulp/lp_core/lp_touch: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_TOUCH_SENSOR_SUPPORTED == 1 and (SOC_DEEP_SLEEP_SUPPORTED == 1 and SOC_LP_CORE_SUPPORTED == 1) <<: *ulp_default_depends @@ -96,6 +126,8 @@ examples/system/ulp/lp_core/lp_touch: - esp_hal_touch_sens examples/system/ulp/lp_core/lp_uart/lp_uart_char_seq_wakeup: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: (SOC_ULP_LP_UART_SUPPORTED != 1) or (SOC_DEEP_SLEEP_SUPPORTED != 1) <<: *ulp_default_depends @@ -103,6 +135,8 @@ examples/system/ulp/lp_core/lp_uart/lp_uart_char_seq_wakeup: - esp_hal_uart examples/system/ulp/lp_core/lp_uart/lp_uart_echo: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: (SOC_ULP_LP_UART_SUPPORTED != 1) or (SOC_DEEP_SLEEP_SUPPORTED != 1) <<: *ulp_default_depends @@ -110,6 +144,8 @@ examples/system/ulp/lp_core/lp_uart/lp_uart_echo: - esp_hal_uart examples/system/ulp/lp_core/lp_uart/lp_uart_print: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: (SOC_ULP_LP_UART_SUPPORTED != 1) or (SOC_DEEP_SLEEP_SUPPORTED != 1) <<: *ulp_default_depends @@ -117,11 +153,15 @@ examples/system/ulp/lp_core/lp_uart/lp_uart_print: - esp_hal_uart examples/system/ulp/ulp_fsm/ulp: + disable+: + - *ulp_legacy_buildv2_disable disable: - if: SOC_ULP_FSM_SUPPORTED != 1 <<: *ulp_default_depends examples/system/ulp/ulp_fsm/ulp_adc: + disable: + - *ulp_legacy_buildv2_disable enable: - if: IDF_TARGET in ["esp32", "esp32s3"] temporary: true @@ -132,6 +172,8 @@ examples/system/ulp/ulp_fsm/ulp_adc: - esp_hal_ana_conv examples/system/ulp/ulp_riscv/adc: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends @@ -140,6 +182,8 @@ examples/system/ulp/ulp_riscv/adc: - esp_hal_ana_conv examples/system/ulp/ulp_riscv/ds18b20_onewire: + disable: + - *ulp_legacy_buildv2_disable enable: - if: IDF_TARGET == "esp32s2" temporary: true @@ -149,6 +193,8 @@ examples/system/ulp/ulp_riscv/ds18b20_onewire: - esp_hal_gpio examples/system/ulp/ulp_riscv/gpio: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends @@ -156,6 +202,8 @@ examples/system/ulp/ulp_riscv/gpio: - esp_hal_gpio examples/system/ulp/ulp_riscv/gpio_interrupt: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends @@ -164,6 +212,8 @@ examples/system/ulp/ulp_riscv/gpio_interrupt: - esp_hal_gpio examples/system/ulp/ulp_riscv/gpio_pulse_counter: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends @@ -171,6 +221,8 @@ examples/system/ulp/ulp_riscv/gpio_pulse_counter: - esp_hal_gpio examples/system/ulp/ulp_riscv/i2c: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends @@ -178,11 +230,15 @@ examples/system/ulp/ulp_riscv/i2c: - esp_hal_i2c examples/system/ulp/ulp_riscv/interrupts: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends examples/system/ulp/ulp_riscv/touch: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends @@ -191,6 +247,8 @@ examples/system/ulp/ulp_riscv/touch: - esp_hal_touch_sens examples/system/ulp/ulp_riscv/uart_print: + disable: + - *ulp_legacy_buildv2_disable enable: - if: SOC_RISCV_COPROC_SUPPORTED == 1 <<: *ulp_default_depends diff --git a/examples/system/ulp/ulp_fsm_riscv_combined/counter/.build-test-rules.yml b/examples/system/ulp/ulp_fsm_riscv_combined/counter/.build-test-rules.yml index 4eb9be1fb97..da40905d51c 100644 --- a/examples/system/ulp/ulp_fsm_riscv_combined/counter/.build-test-rules.yml +++ b/examples/system/ulp/ulp_fsm_riscv_combined/counter/.build-test-rules.yml @@ -1,4 +1,7 @@ examples/system/ulp/ulp_fsm_riscv_combined/counter: + disable: + - if: IDF_BUILD_V2 == "1" + reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps. enable: - if: SOC_ULP_FSM_SUPPORTED == 1 and SOC_RISCV_COPROC_SUPPORTED == 1 and IDF_TARGET in ["esp32s2", "esp32s3"] temporary: false diff --git a/tools/ci/dynamic_pipelines/scripts/patch_buildv2_child_pipeline.py b/tools/ci/dynamic_pipelines/scripts/patch_buildv2_child_pipeline.py index 901742242db..7536a3fdbf9 100644 --- a/tools/ci/dynamic_pipelines/scripts/patch_buildv2_child_pipeline.py +++ b/tools/ci/dynamic_pipelines/scripts/patch_buildv2_child_pipeline.py @@ -6,8 +6,8 @@ The buildv2 build child pipeline is generated by ``idf-ci gitlab build-child-pip from the same manifest as the default pipeline. This script post-processes that generated YAML so the cmakev2 path is exercised end to end: -1. Inject ``IDF_BUILD_V2`` into each child build job so cmake activates the - cmakev2 shim. +1. Point child build jobs at the buildv2 generator artifacts, then inject + ``IDF_BUILD_V2`` so cmake activates the cmakev2 shim. 2. Inject ``PIPELINE_COMMIT_SHA: ${PIPELINE_COMMIT_SHA}_buildv2`` into each child build job. idf-ci reads ``PIPELINE_COMMIT_SHA`` when computing the s3 @@ -27,6 +27,13 @@ import argparse import yaml PIPELINE_COMMIT_SHA_V2 = '${PIPELINE_COMMIT_SHA}_buildv2' +BUILDV2_GENERATOR_JOB = 'generate_build_child_pipeline_buildv2' + + +def _use_buildv2_generator_artifacts(job: dict) -> None: + for need in job.get('needs', []): + if isinstance(need, dict) and need.get('job') == 'generate_build_child_pipeline': + need['job'] = BUILDV2_GENERATOR_JOB def patch(path: str) -> None: @@ -36,6 +43,7 @@ def patch(path: str) -> None: injected = [] for k, v in d.items(): if isinstance(v, dict) and 'extends' in v: + _use_buildv2_generator_artifacts(v) v.setdefault('variables', {})['IDF_BUILD_V2'] = '1' v['variables']['PIPELINE_COMMIT_SHA'] = PIPELINE_COMMIT_SHA_V2 injected.append(k) diff --git a/tools/test_apps/system/.build-test-rules.yml b/tools/test_apps/system/.build-test-rules.yml index 9a273f0e7db..501a9b180cc 100644 --- a/tools/test_apps/system/.build-test-rules.yml +++ b/tools/test_apps/system/.build-test-rules.yml @@ -194,6 +194,9 @@ tools/test_apps/system/ram_loadable_app: reason: cannot pass # TODO: IDF-15525 tools/test_apps/system/rtc_mem_reserve: + disable: + - if: IDF_BUILD_V2 == "1" + reason: Legacy ULP apps are covered by CMake v1; buildv2 covers full_subproject ULP apps. enable: - if: IDF_TARGET in ["esp32p4"] reason: only P4 has a potential conflict due to using rtc mem for lp rom data/stack