32 lines
1.5 KiB
Markdown
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 }}
|
|
```
|