ci(ulp): temporarily disable legacy ULP apps for buildv2

Keep legacy ULP apps on the CMake v1 build path while buildv2 coverage
is limited to full_subproject ULP apps.

Also add the missing esp_driver_gpio dependency to the esp_pm test app
so buildv2 dependency checks see driver/rtc_io.h explicitly.
This commit is contained in:
Renz Bagaporo
2026-07-15 10:17:52 +09:00
parent a9ea4f1105
commit 5b67ff37cd
8 changed files with 96 additions and 2 deletions
@@ -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"]
@@ -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:
@@ -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)
@@ -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:
+58
View File
@@ -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
@@ -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
@@ -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)
@@ -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