mirror of
https://github.com/esphome/esphome.git
synced 2025-10-11 14:23:47 +01:00
tweak
This commit is contained in:
@@ -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
|
||||||
|
@@ -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}
|
||||||
|
@@ -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}
|
||||||
|
@@ -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.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user