Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions setup-flutter/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Setup Flutter
description: Setup Flutter environment

inputs:
flutter-version:
description: The Flutter version to use
required: true
default: 3.x
channel:
description: The Flutter channel to use
required: false
default: stable
cache:
description: Enable caching for Flutter SDK and packages
required: false
default: true
apo-registry:
description: Use AOP registry for Flutter packages
required: false
default: false

runs:
using: composite
steps:
- name: Setup Flutter
uses: subosito/flutter-action@v2.21.0
with:
flutter-version: ${{ inputs.flutter-version }}
channel: ${{ inputs.channel }}
cache: ${{ inputs.cache }}

- name: AOP Registry
if: ${{ inputs.apo-registry }}
run: |
repo_url="https://raw.githubusercontent.com/TDesignOteam/tdesign-flutter-aop-registry/refs/heads/main/patch_flutter/"
flutter_version=$(flutter --version | head -n 1 | awk '{print $2}')
major_version=$(echo $flutter_version | cut -d. -f1)
minor_version=$(echo $flutter_version | cut -d. -f2)
# 2.2~3.10.patch, 3.13~3.16.patch, 3.19~3.22.patch, 3.24~3.32.patch, 3.35~infinity.patch
patch_file=""
if [ "$major_version" -gt 3 ]; then
patch_file="3.35~infinity.patch"
elif [ "$major_version" -eq 3 ]; then
if [ "$minor_version" -ge 35 ]; then
patch_file="3.35~infinity.patch"
elif [ "$minor_version" -ge 24 ] && [ "$minor_version" -le 32 ]; then
patch_file="3.24~3.32.patch"
elif [ "$minor_version" -ge 19 ] && [ "$minor_version" -le 22 ]; then
patch_file="3.19~3.22.patch"
elif [ "$minor_version" -ge 13 ] && [ "$minor_version" -le 16 ]; then
patch_file="3.13~3.16.patch"
elif [ "$minor_version" -ge 0 ] && [ "$minor_version" -le 10 ]; then
patch_file="2.2~3.10.patch"
fi
elif [ "$major_version" -eq 2 ]; then
if [ "$minor_version" -ge 2 ]; then
patch_file="2.2~3.10.patch"
fi
fi

if [ ! -z "$patch_file" ]; then
echo "Applying patch: $patch_file"
cd ${{ env.FLUTTER_ROOT }}
curl -L "$repo_url$patch_file" | git apply
else
echo "No matching patch file found for Flutter version: $flutter_version"
fi