From 22cb0fbb7064ee68c1c0d6dab3572862d99673dd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 29 Oct 2025 18:53:35 -0500 Subject: [PATCH] flatten --- .github/workflows/ci.yml | 6 +++--- script/determine-jobs.py | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0caed5f81d..c7cab0d5c2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -537,12 +537,12 @@ jobs: if: always() test-build-components-split: - name: Test components batch (${{ join(matrix.components, ' ') }}) + name: Test components batch (${{ matrix.components }}) runs-on: ubuntu-24.04 needs: - common - determine-jobs - if: github.event_name == 'pull_request' && needs.determine-jobs.outputs.component-test-batches != '[]' + if: github.event_name == 'pull_request' && fromJSON(needs.determine-jobs.outputs.component-test-count) > 0 strategy: fail-fast: false max-parallel: ${{ (startsWith(github.base_ref, 'beta') || startsWith(github.base_ref, 'release')) && 8 || 4 }} @@ -555,7 +555,7 @@ jobs: df -h - name: List components - run: echo ${{ join(matrix.components, ' ') }} + run: echo ${{ matrix.components }} - name: Cache apt packages uses: awalsh128/cache-apt-pkgs-action@acb598e5ddbc6f68a970c5da0688d2f3a9f04d05 # v1.5.3 diff --git a/script/determine-jobs.py b/script/determine-jobs.py index 4324431ef5..4a0edebb0d 100755 --- a/script/determine-jobs.py +++ b/script/determine-jobs.py @@ -695,15 +695,17 @@ def main() -> None: # Split components into batches for CI testing # This intelligently groups components with similar bus configurations - component_test_batches: list[list[str]] + component_test_batches: list[str] if changed_components_with_tests: tests_dir = Path(root_path) / ESPHOME_TESTS_COMPONENTS_PATH - component_test_batches, _ = create_intelligent_batches( + batches, _ = create_intelligent_batches( components=changed_components_with_tests, tests_dir=tests_dir, batch_size=COMPONENT_TEST_BATCH_SIZE, directly_changed=directly_changed_with_tests, ) + # Convert batches to space-separated strings for CI matrix + component_test_batches = [" ".join(batch) for batch in batches] else: component_test_batches = []