@@ -551,30 +551,13 @@ jobs:
551551 # Build Flet extension Python packages
552552 # ============================================
553553 build_flet_extensions :
554- name : Build ${{ matrix.package }} extension
554+ name : Build Flet extensions
555555 runs-on : ubuntu-latest
556556 needs :
557557 - python_tests
558558 - build_flet_package
559559 env :
560560 PYPI_VER : ${{ needs.build_flet_package.outputs.PYPI_VER }}
561- strategy :
562- fail-fast : false
563- matrix :
564- package :
565- - flet-ads
566- - flet-audio
567- - flet-audio-recorder
568- - flet-charts
569- - flet-datatable2
570- - flet-flashlight
571- - flet-geolocator
572- - flet-lottie
573- - flet-map
574- - flet-permission-handler
575- - flet-rive
576- - flet-video
577- - flet-webview
578561 steps :
579562 - name : Checkout repository
580563 uses : actions/checkout@v4
@@ -588,43 +571,49 @@ jobs:
588571 path : ' .fvmrc'
589572 cache : true
590573
591- - name : Analyze Flutter package with dart analyze
592- shell : bash
593- run : |
594- set -euo pipefail
595- PACKAGE="${{ matrix.package }}"
596- FLUTTER_PACKAGE="${PACKAGE//-/_}"
597- FLUTTER_DIR="${SDK_PYTHON}/packages/${PACKAGE}/src/flutter/${FLUTTER_PACKAGE}"
598-
599- if [[ ! -d "$FLUTTER_DIR" ]]; then
600- echo "Flutter directory $FLUTTER_DIR not found"
601- exit 1
602- fi
603-
604- pushd "$FLUTTER_DIR"
605- flutter pub get
606- dart analyze
607- rm -f pubspec.lock
608- popd
609-
610- - name : Build Python package
574+ - name : Analyze and Build Flutter & Python packages
611575 shell : bash
612576 working-directory : ${{ env.SDK_PYTHON }}
613577 run : |
614578 set -euo pipefail
615- PACKAGE="${{ matrix.package }}"
616- PYPROJECT="packages/${PACKAGE}/pyproject.toml"
579+
580+ PACKAGES=(
581+ flet-ads
582+ flet-audio
583+ flet-audio-recorder
584+ flet-charts
585+ flet-datatable2
586+ flet-flashlight
587+ flet-geolocator
588+ flet-lottie
589+ flet-map
590+ flet-permission-handler
591+ flet-rive
592+ flet-video
593+ flet-webview
594+ )
617595
618596 source "$SCRIPTS/common.sh"
619- patch_toml_versions "$PYPROJECT" "$PYPI_VER"
620597
621- rm -rf dist
622- uv build --package "$PACKAGE"
598+ for PACKAGE in "${PACKAGES[@]}"; do
599+ echo "::group::Processing ${PACKAGE}"
600+ FLUTTER_PACKAGE="${PACKAGE//-/_}"
601+ FLUTTER_DIR="${SDK_PYTHON}/packages/${PACKAGE}/src/flutter/${FLUTTER_PACKAGE}"
602+
603+ pushd "$FLUTTER_DIR"
604+ flutter pub get
605+ dart analyze
606+ popd
607+
608+ patch_toml_versions "packages/${PACKAGE}/pyproject.toml" "$PYPI_VER"
609+ uv build --package "$PACKAGE"
610+ echo "::endgroup::"
611+ done
623612
624613 - name : Upload artifacts
625614 uses : actions/upload-artifact@v4
626615 with :
627- name : python-extension-${{ matrix.package }}
616+ name : flet- python-extensions
628617 if-no-files-found : error
629618 path : |
630619 sdk/python/dist/*.whl
@@ -685,6 +674,9 @@ jobs:
685674 steps :
686675 - name : Setup uv
687676 uses : astral-sh/setup-uv@v6
677+ with :
678+ ignore-empty-workdir : true
679+ cache-dependency-glob : " "
688680
689681 - name : Download artifacts
690682 uses : actions/download-artifact@v4
0 commit comments