From 520183465f699d1578cbab276202ccd8f8776da9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 9 Oct 2025 13:41:19 -1000 Subject: [PATCH] tweak --- .../test.esp32-s3-idf.yaml | 3 +- .../remote_receiver/test.esp32-s3-idf.yaml | 3 +- .../remote_transmitter/test.esp32-s3-idf.yaml | 3 +- tests/test_build_components/common/README.md | 33 ++----------------- 4 files changed, 5 insertions(+), 37 deletions(-) diff --git a/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml b/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml index ceca8df320..6bf0639a52 100644 --- a/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml +++ b/tests/components/esp32_rmt_led_strip/test.esp32-s3-idf.yaml @@ -2,8 +2,7 @@ substitutions: pin1: GPIO3 pin2: GPIO4 -# Configuration is inlined instead of using !extend to make this component groupable. -# Using !extend prevents automatic component grouping in CI, requiring individual builds. +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. light: - platform: esp32_rmt_led_strip id: led_strip1 diff --git a/tests/components/remote_receiver/test.esp32-s3-idf.yaml b/tests/components/remote_receiver/test.esp32-s3-idf.yaml index 69a70dc540..0d7a20e0c0 100644 --- a/tests/components/remote_receiver/test.esp32-s3-idf.yaml +++ b/tests/components/remote_receiver/test.esp32-s3-idf.yaml @@ -5,8 +5,7 @@ substitutions: receive_symbols: "4" rmt_symbols: "64" -# Configuration is inlined instead of using !extend to make this component groupable. -# Using !extend prevents automatic component grouping in CI, requiring individual builds. +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. remote_receiver: - id: rcvr pin: ${pin} diff --git a/tests/components/remote_transmitter/test.esp32-s3-idf.yaml b/tests/components/remote_transmitter/test.esp32-s3-idf.yaml index 87cb14643a..8a038beb4a 100644 --- a/tests/components/remote_transmitter/test.esp32-s3-idf.yaml +++ b/tests/components/remote_transmitter/test.esp32-s3-idf.yaml @@ -3,8 +3,7 @@ substitutions: clock_resolution: "2000000" rmt_symbols: "64" -# Configuration is inlined instead of using !extend to make this component groupable. -# Using !extend prevents automatic component grouping in CI, requiring individual builds. +# WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower. remote_transmitter: - id: xmitr pin: ${pin} diff --git a/tests/test_build_components/common/README.md b/tests/test_build_components/common/README.md index db1c116396..c12941c6fe 100644 --- a/tests/test_build_components/common/README.md +++ b/tests/test_build_components/common/README.md @@ -192,38 +192,9 @@ Components tested individually when they: ### Making Components Groupable -Some components originally used `!extend` directives to add platform-specific parameters. These have been refactored to inline the full configuration, making them groupable: +**WARNING**: Using `!extend` or `!remove` directives in component test files prevents automatic component grouping in CI, making builds slower. -**Before (non-groupable)**: -```yaml -# test.esp32-s3-idf.yaml -packages: - common: !include common.yaml - -light: - - id: !extend led_strip1 - use_dma: "true" # ESP32-S3 specific parameter -``` - -**After (groupable)**: -```yaml -# test.esp32-s3-idf.yaml -# Configuration is inlined instead of using !extend to make this component groupable. -# Using !extend prevents automatic component grouping in CI, requiring individual builds. -light: - - platform: esp32_rmt_led_strip - id: led_strip1 - pin: ${pin1} - num_leds: 60 - rgb_order: GRB - chipset: ws2812 - use_dma: "true" # ESP32-S3 specific parameter inlined -``` - -**Migrated components**: -- `remote_receiver/test.esp32-s3-idf.yaml` - Inlined DMA configuration -- `remote_transmitter/test.esp32-s3-idf.yaml` - Inlined DMA configuration -- `esp32_rmt_led_strip/test.esp32-s3-idf.yaml` - Inlined DMA configuration for two LED strips +When platform-specific parameters are needed, inline the full configuration rather than using `!extend` or `!remove`. This allows the component to be grouped with other compatible components, reducing CI build time. **Note**: Some components legitimately require `!extend` or `!remove` for platform-specific features (e.g., `adc` removing ESP32-only `attenuation` parameter on ESP8266). These are correctly identified as non-groupable.