[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

@@ -28,7 +28,7 @@ from script.analyze_component_buses import (
create_grouping_signature,
merge_compatible_bus_groups,
)
from script.helpers import get_component_test_files
from script.helpers import get_component_test_files, split_conflicting_groups
# Weighting for batch creation
# Isolated components can't be grouped/merged, so they count as 10x
@@ -145,6 +145,11 @@ def create_intelligent_batches(
# improving the efficiency of test_build_components.py grouping
signature_groups = merge_compatible_bus_groups(signature_groups)
# Split groups containing mutually-incompatible components (CONFLICTS_WITH).
# Without this, batch weighting assumes the group is one build when it will
# actually be split into two at build time -- throwing off CI distribution.
signature_groups = split_conflicting_groups(signature_groups)
# Create batches by keeping signature groups together
# Components with the same signature stay in the same batches
batches = []