1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-11 14:23:47 +01:00
This commit is contained in:
J. Nick Koston
2025-10-09 13:41:19 -10:00
parent b2b572e1af
commit 520183465f
4 changed files with 5 additions and 37 deletions

View File

@@ -2,8 +2,7 @@ substitutions:
pin1: GPIO3 pin1: GPIO3
pin2: GPIO4 pin2: GPIO4
# Configuration is inlined instead of using !extend to make this component groupable. # WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower.
# Using !extend prevents automatic component grouping in CI, requiring individual builds.
light: light:
- platform: esp32_rmt_led_strip - platform: esp32_rmt_led_strip
id: led_strip1 id: led_strip1

View File

@@ -5,8 +5,7 @@ substitutions:
receive_symbols: "4" receive_symbols: "4"
rmt_symbols: "64" rmt_symbols: "64"
# Configuration is inlined instead of using !extend to make this component groupable. # WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower.
# Using !extend prevents automatic component grouping in CI, requiring individual builds.
remote_receiver: remote_receiver:
- id: rcvr - id: rcvr
pin: ${pin} pin: ${pin}

View File

@@ -3,8 +3,7 @@ substitutions:
clock_resolution: "2000000" clock_resolution: "2000000"
rmt_symbols: "64" rmt_symbols: "64"
# Configuration is inlined instead of using !extend to make this component groupable. # WARNING: Using !extend or !remove prevents automatic component grouping in CI, making builds slower.
# Using !extend prevents automatic component grouping in CI, requiring individual builds.
remote_transmitter: remote_transmitter:
- id: xmitr - id: xmitr
pin: ${pin} pin: ${pin}

View File

@@ -192,38 +192,9 @@ Components tested individually when they:
### Making Components Groupable ### 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)**: 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.
```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
**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. **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.