mirror of
https://github.com/esphome/esphome.git
synced 2026-06-24 13:09:12 +00:00
[ci] Honor CONFLICTS_WITH when grouping component tests (#15834)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -39,7 +39,7 @@ from script.analyze_component_buses import (
|
||||
merge_compatible_bus_groups,
|
||||
uses_local_file_references,
|
||||
)
|
||||
from script.helpers import get_component_test_files
|
||||
from script.helpers import get_component_test_files, split_conflicting_groups
|
||||
from script.merge_component_configs import merge_component_configs
|
||||
|
||||
|
||||
@@ -675,6 +675,13 @@ def run_grouped_component_tests(
|
||||
# as long as they don't have conflicting configurations for the same bus type
|
||||
grouped_components = merge_compatible_bus_groups(grouped_components)
|
||||
|
||||
# Split groups that contain components declaring CONFLICTS_WITH each other.
|
||||
# The bus-level merge above only considers shared bus configs; components
|
||||
# with the same bus signature (e.g. both I2C) can still be mutually
|
||||
# incompatible (e.g. bme680_bsec vs. bme68x_bsec2_i2c which auto-loads
|
||||
# bme68x_bsec2). Those must end up in separate builds.
|
||||
grouped_components = split_conflicting_groups(grouped_components)
|
||||
|
||||
# Print detailed grouping plan
|
||||
print("\nGrouping Plan:")
|
||||
print("-" * 80)
|
||||
|
||||
Reference in New Issue
Block a user