# 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 }} ```