Skip to content

Commit b363cee

Browse files
ndonkoHenriCopilot
andauthored
ci: Build extensions in one job (#5722)
* improve ci: all extensions in one job * improve workflow * test workflow * ignore-empty-workdir: true * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 44a3874 commit b363cee

File tree

1 file changed

+36
-44
lines changed

1 file changed

+36
-44
lines changed

.github/workflows/ci.yml

Lines changed: 36 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)