Setup Flutter
Cross-platform composite action to set up the Flutter SDK with automated caching on macOS, Windows, and Linux. Supports local Git mirrors with automatic fallback to upstream GitHub.
Features
- Multi-OS Support: Native setup for macOS (Apple Silicon & Intel), Windows (PowerShell), and Linux.
- Git Mirror & Fallback: Clones from local Gitea Flutter mirror (
https://git.rodydavis.dev/rodydavis/flutter.git) with automatic fallback tohttps://github.com/flutter/flutter.git. - SDK Caching: Uses
actions/cache@v3to cache the full Flutter SDK directory across workflow runs based on OS, CPU architecture, and version. - Desktop Windowing: Automatically configures desktop windowing support and exports Flutter to
$GITHUB_PATH.
Inputs
| Name | Description | Required | Default |
|---|---|---|---|
version |
Flutter channel, tag, or branch (e.g., master, stable, 3.29.0). |
No | master |
mirror_url |
Git repository URL for Flutter SDK mirror. | No | https://git.rodydavis.dev/rodydavis/flutter.git |
git_token |
Gitea token for authenticated git mirror access. | No | '' |
cache |
Enable Flutter SDK caching across CI runs. | No | true |
enable_windowing |
Enable desktop windowing and platform configs. | No | true |
Example Usage
Basic Usage (Master Channel)
- name: Set up Flutter
uses: rodydavis/shared-actions/setup-flutter@main
with:
version: master
git_token: ${{ secrets.GIT_TOKEN }}
Specific Version Tag with Caching
- name: Set up Flutter 3.29.0
uses: rodydavis/shared-actions/setup-flutter@main
with:
version: '3.29.0'
cache: 'true'