From 06a26ee57ca0c778ce03279f127bb8fa9ec25ca3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 26 Sep 2026 20:47:51 +0100 Subject: [PATCH] Trigger the smoke tests when the shared build configs change --- script/determine-jobs.py | 10 +++++++++- tests/script/test_determine_jobs.py | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/script/determine-jobs.py b/script/determine-jobs.py index f0cbbe63ceb..aa930745814 100755 --- a/script/determine-jobs.py +++ b/script/determine-jobs.py @@ -521,12 +521,19 @@ ESP32_PLATFORMIO_TEST_COMPONENTS = frozenset( } ) +# Shared by every toolchain smoke-test job: the base config and the bus +# packages each generated build includes +_SMOKE_HARNESS_TRIGGER_PATH_PREFIXES = ("tests/test_build_components/",) + # Path prefixes whose changes always trigger the PlatformIO compile test: # anything under esphome/platformio/ (the PlatformIO runner / toolchain that # drives every PlatformIO build). The esp32 platform component is already in # ESP32_PLATFORMIO_TEST_COMPONENTS, so its changes are covered by the normal # component-narrowing path. -ESP32_PLATFORMIO_TRIGGER_PATH_PREFIXES = ("esphome/platformio/",) +ESP32_PLATFORMIO_TRIGGER_PATH_PREFIXES = ( + "esphome/platformio/", + *_SMOKE_HARNESS_TRIGGER_PATH_PREFIXES, +) # Standalone files that, when changed, trigger the PlatformIO compile test: # - esphome/build_gen/platformio.py -- the PlatformIO build generator @@ -673,6 +680,7 @@ ESP8266_NATIVE_TRIGGER_PATH_PREFIXES = ( "esphome/arduino8266/", "esphome/arduino/", "esphome/build_helpers/", + *_SMOKE_HARNESS_TRIGGER_PATH_PREFIXES, ) # Shared library-conversion modules every native build imports; espidf-only # infra (build_gen/espidf.py) deliberately stays out of the esp8266 set. diff --git a/tests/script/test_determine_jobs.py b/tests/script/test_determine_jobs.py index 990d7d19a5e..4903f1a88ad 100644 --- a/tests/script/test_determine_jobs.py +++ b/tests/script/test_determine_jobs.py @@ -1017,6 +1017,9 @@ _ESP32_PLATFORMIO_FULL_LIST_FILES = [ # Workflow / harness files ["script/test_build_components.py"], [".github/workflows/ci.yml"], + # The base config and bus packages every generated build includes + ["tests/test_build_components/build_components_base.esp32-idf.yaml"], + ["tests/test_build_components/common/uart/esp32-idf.yaml"], ] @@ -3187,6 +3190,9 @@ def test_memory_impact_elf_layouts_are_found(tmp_path: Path) -> None: "esphome/platformio/toolchain.py", # The composite cache action must not ship unexercised ".github/actions/cache-arduino8266/action.yml", + # The base config and bus packages every generated build includes + "tests/test_build_components/build_components_base.esp8266-ard.yaml", + "tests/test_build_components/common/uart/esp8266-ard.yaml", ], ) def test_esp8266_native_components_full_list_on_infra_change(changed: str) -> None: