Files
2026-08-22 22:22:53 -07:00

32 lines
1.5 KiB
Markdown

# Setup Flutter
Cross-platform composite action to set up the Flutter SDK with concurrency locking and local Git mirror support on macOS, Windows, and Linux.
## 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 to `https://github.com/flutter/flutter.git`.
- **Fast Local Disk Caching & Concurrency Locks**: Reuses persistent runner SDK installations on disk without expensive tar compression steps or race conditions between parallel jobs.
- **Desktop Windowing**: Automatically configures desktop windowing support and exports Flutter to `$GITHUB_PATH`.
## Inputs
| Name | Description | Required | Default |
| :--- | :--- | :--- | :--- |
| `version` | Flutter channel, tag, or commit hash (e.g., `master`, `stable`, `3.29.0`, `4ebf37fe...`). | 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 | `''` |
| `enable_windowing` | Enable desktop windowing and platform configs. | No | `true` |
## Example Usage
### Pinned Commit Hash
```yaml
- name: Set up Flutter
uses: rodydavis/shared-actions/setup-flutter@main
with:
version: 4ebf37fe7df0a130ba5bee17315b98f905c10b34
git_token: ${{ secrets.GIT_TOKEN }}
```