Skip to content

Commit 01fb2a8

Browse files
authored
Merge pull request #139 from edwardtfn/v9999.99.9
[BREAKING CHANGE] v2025.12.2: Move device configuration to compile-time substitutions
2 parents 38f1290 + bc8d7de commit 01fb2a8

33 files changed

+1372
-2362
lines changed

.github/workflows/validate_esphome.yml

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ jobs:
102102
yaml-file: ".test/esphome_ard_basic.yaml"
103103
version: dev
104104

105+
build_ard_hw_leds_individual:
106+
name: "🔌 Arduino HW LEDs Individual (latest)"
107+
needs: build_ard_basic
108+
runs-on: ubuntu-latest
109+
steps:
110+
- uses: actions/checkout@main
111+
- name: Build Arduino HW LEDs Individual - latest
112+
uses: esphome/build-action@main
113+
with:
114+
yaml-file: ".test/esphome_ard_hw_leds_individual.yaml"
115+
version: latest
116+
105117
build_ard_hw_relays:
106118
name: "🔌 Arduino HW Relays (latest)"
107119
needs: build_ard_basic
@@ -214,6 +226,18 @@ jobs:
214226
yaml-file: ".test/esphome_idf_basic.yaml"
215227
version: dev
216228

229+
build_idf_hw_leds_individual:
230+
name: "🔌 IDF HW LEDs Individual (latest)"
231+
needs: build_idf_basic
232+
runs-on: ubuntu-latest
233+
steps:
234+
- uses: actions/checkout@main
235+
- name: Build IDF HW LEDs Individual - latest
236+
uses: esphome/build-action@main
237+
with:
238+
yaml-file: ".test/esphome_idf_hw_leds_individual.yaml"
239+
version: latest
240+
217241
build_idf_hw_relays:
218242
name: "🔌 IDF HW Relays (latest)"
219243
needs: build_idf_basic
@@ -283,6 +307,7 @@ jobs:
283307
- build_ard_core_dev
284308
- build_ard_basic
285309
- build_ard_basic_dev
310+
- build_ard_hw_leds_individual
286311
- build_ard_hw_relays
287312
- build_ard_hw_speaker
288313
- build_ard_hw_vibration
@@ -299,11 +324,12 @@ jobs:
299324
# Count latest builds (always run)
300325
[ "${{ needs.build_ard_core.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
301326
[ "${{ needs.build_ard_basic.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
327+
[ "${{ needs.build_ard_hw_leds_individual.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
302328
[ "${{ needs.build_ard_hw_relays.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
303329
[ "${{ needs.build_ard_hw_speaker.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
304330
[ "${{ needs.build_ard_hw_vibration.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
305331
[ "${{ needs.build_ard_ble_proxy_latest.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
306-
TOTAL=$((TOTAL + 6))
332+
TOTAL=$((TOTAL + 7))
307333
308334
# Count dev builds (if not skipped)
309335
if [ "${{ github.event.inputs.skip_dev }}" != "true" ]; then
@@ -329,6 +355,7 @@ jobs:
329355
- build_idf_core_dev
330356
- build_idf_basic
331357
- build_idf_basic_dev
358+
- build_idf_hw_leds_individual
332359
- build_idf_hw_relays
333360
- build_idf_hw_speaker
334361
- build_idf_hw_vibration
@@ -345,11 +372,12 @@ jobs:
345372
# Count latest builds (always run)
346373
[ "${{ needs.build_idf_core.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
347374
[ "${{ needs.build_idf_basic.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
375+
[ "${{ needs.build_idf_hw_leds_individual.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
348376
[ "${{ needs.build_idf_hw_relays.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
349377
[ "${{ needs.build_idf_hw_speaker.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
350378
[ "${{ needs.build_idf_hw_vibration.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
351379
[ "${{ needs.build_idf_ble_proxy_latest.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
352-
TOTAL=$((TOTAL + 6))
380+
TOTAL=$((TOTAL + 7))
353381
354382
# Count dev builds (if not skipped)
355383
if [ "${{ github.event.inputs.skip_dev }}" != "true" ]; then
@@ -373,12 +401,14 @@ jobs:
373401
needs:
374402
- build_ard_core
375403
- build_ard_basic
404+
- build_ard_hw_leds_individual
376405
- build_ard_hw_relays
377406
- build_ard_hw_speaker
378407
- build_ard_hw_vibration
379408
- build_ard_ble_proxy_latest
380409
- build_idf_core
381410
- build_idf_basic
411+
- build_idf_hw_leds_individual
382412
- build_idf_hw_relays
383413
- build_idf_hw_speaker
384414
- build_idf_hw_vibration
@@ -389,11 +419,12 @@ jobs:
389419
- name: Latest ESPHome Results
390420
run: |
391421
SUCCESS=0
392-
TOTAL=12
422+
TOTAL=14
393423
394424
# Arduino Latest builds
395425
[ "${{ needs.build_ard_core.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
396426
[ "${{ needs.build_ard_basic.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
427+
[ "${{ needs.build_ard_hw_leds_individual.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
397428
[ "${{ needs.build_ard_hw_relays.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
398429
[ "${{ needs.build_ard_hw_speaker.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
399430
[ "${{ needs.build_ard_hw_vibration.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
@@ -402,6 +433,7 @@ jobs:
402433
# ESP-IDF Latest builds
403434
[ "${{ needs.build_idf_core.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
404435
[ "${{ needs.build_idf_basic.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
436+
[ "${{ needs.build_idf_hw_leds_individual.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
405437
[ "${{ needs.build_idf_hw_relays.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
406438
[ "${{ needs.build_idf_hw_speaker.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))
407439
[ "${{ needs.build_idf_hw_vibration.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))

.test/esphome_ard_basic.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_arduino: !include common_ard.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

.test/esphome_ard_ble_proxy.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_arduino: !include common_ard.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

.test/esphome_ard_core.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_arduino: !include common_ard.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
13+
packages:
14+
common_arduino: !include common_ard.yaml
15+
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml
16+
hw_leds_individual_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_hw_leds_individual.yaml
17+
...

.test/esphome_ard_hw_relays.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_arduino: !include common_ard.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

.test/esphome_ard_hw_speaker.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_arduino: !include common_ard.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

.test/esphome_ard_hw_vibration.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_arduino: !include common_ard.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

.test/esphome_idf_basic.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common_idf: !include common_idf.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

.test/esphome_idf_ble_proxy.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
---
2+
substitutions:
3+
device_format: ${ ["EU", "US"] | random }
4+
gang_count: ${ [1, 2, 3, 4] | random }
5+
6+
external_components:
7+
- source:
8+
type: local
9+
path: ../components
10+
components:
11+
- tx_ultimate_easy
12+
213
packages:
314
common: !include common.yaml
415
core_package: !include ../ESPHome/TX-Ultimate-Easy-ESPHome_core.yaml

0 commit comments

Comments
 (0)