Files

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

- name: Set up Flutter
  uses: rodydavis/shared-actions/setup-flutter@main
  with:
    version: 4ebf37fe7df0a130ba5bee17315b98f905c10b34
    git_token: ${{ secrets.GIT_TOKEN }}