A GitHub Action for setting up Flutter SDK environments across Linux, Windows, and macOS runners.
flutter-action is a GitHub Action that sets up a Flutter development environment within GitHub Actions workflows. It automates the installation of the Flutter SDK, allowing developers to run tests, build applications, and deploy Flutter projects across multiple operating systems directly from their CI/CD pipelines.
Flutter developers and teams using GitHub Actions for continuous integration and deployment of their mobile, web, or desktop applications.
It eliminates manual Flutter SDK setup in CI, provides flexible version control, integrates caching for faster builds, and supports building for all Flutter target platforms, making it the de facto standard for Flutter CI on GitHub.
Flutter environment for use in GitHub Actions. It works on Linux, Windows, and macOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works on Linux, Windows, and macOS GitHub runners, with explicit examples for building Android, iOS, web, and desktop applications in the README.
Integrates with actions/cache@v5 to cache both Flutter SDK and pub dependencies, using configurable keys and paths to significantly speed up builds.
Supports exact versions, channels, version ranges, and reading from pubspec.yaml, inspired by actions/setup-go, as detailed in the version specification examples.
Provides clear examples for all Flutter platforms, including iOS on macOS runners and Linux desktop with apt-get dependencies, ensuring comprehensive CI support.
Allows using alternative Flutter repositories like Flock and applying custom patches via git apply, enabling workarounds for immediate bug fixes or forks.
Using flutter-version-file requires yq, which isn't pre-installed on Windows runners; the action installs it automatically, but this adds complexity and potential failure points.
The caching system with dynamic keys and paths (e.g., cache-key, pub-cache-key) can be confusing for users unfamiliar with GitHub Actions caching, leading to misconfigurations.
Exclusively tied to GitHub Actions, making it unsuitable for teams using other CI/CD solutions without significant adaptation or reimplementation.
Caching features require self-hosted runners to be updated to Actions Runner 2.327.1 or newer, which may not be feasible in all environments, as noted in the caching section.