From 73a088222f9509a5a645f28a47012ae7f6c87a9b Mon Sep 17 00:00:00 2001 From: Eric Griffin Date: Wed, 20 May 2026 18:38:25 -0400 Subject: [PATCH] fix(ci): honor pinned Flutter version on Windows runners The "Read Flutter version" step uses bash syntax ($(cat ...) and $GITHUB_OUTPUT) with no shell override. Windows runners default to PowerShell, so the step silently set no version output and subosito/flutter-action installed the latest stable Flutter (3.44.0) instead of the pinned 3.41.4. Flutter 3.44.0 makes IconData a final class, which material_design_icons_flutter 7.0.7296 illegally extends, breaking the Windows build at the Dart kernel_snapshot step. Add `shell: bash` to the build-windows version-read step in ci.yaml and release.yml, matching the existing native-plugin-tests.yml. The macOS/Linux jobs already default to bash and were unaffected. --- .github/workflows/ci.yaml | 5 +++++ .github/workflows/release.yml | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1fc5915dd..b8b8d9071 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -496,6 +496,11 @@ jobs: - name: Read Flutter version id: flutter-ver + # Windows runners default to PowerShell, where the bash-style + # $(...) command substitution and $GITHUB_OUTPUT do not work. Without + # this the version output is empty and subosito installs the latest + # stable Flutter instead of the pinned version. See flutter-version.txt. + shell: bash run: echo "version=$(cat ${{ env.FLUTTER_VERSION_FILE }})" >> "$GITHUB_OUTPUT" - uses: subosito/flutter-action@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b36ae6796..e84a2e683 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -319,6 +319,11 @@ jobs: - name: Read Flutter version id: flutter-ver + # Windows runners default to PowerShell, where the bash-style + # $(...) command substitution and $GITHUB_OUTPUT do not work. Without + # this the version output is empty and subosito installs the latest + # stable Flutter instead of the pinned version. See flutter-version.txt. + shell: bash run: echo "version=$(cat ${{ env.FLUTTER_VERSION_FILE }})" >> "$GITHUB_OUTPUT" - name: Setup Flutter