[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:
J. Nick Koston
2026-04-18 08:11:38 -05:00
committed by GitHub
parent ccb53e34ca
commit b293be23b0
4 changed files with 275 additions and 2 deletions

View File

@@ -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)