utils/flutter-setup/README.md
Krzysztof kuhy Rudnicki ba6f8b09fd
Some checks failed
dependency freshness / dependencies on newest stable (push) Has been cancelled
file length / file-length (push) Has been cancelled
md-naming / markdown naming convention (push) Has been cancelled
palette drift / palette (push) Has been cancelled
shared gate tests / gate unit tests (push) Has been cancelled
flutter-setup: slim cached Flutter SDK for gating CI jobs
subosito/flutter-action's cache is the whole SDK, 1.6 GB: ~38 s to restore
on every Flutter job even on a hit, which alone kept them over a minute.
This composite action caches a depth-1 clone of the release tag with only
the host and web artifacts (393 MB zstd'd); verified locally that test,
analyze --fatal-infos and build web run on it without lazy downloads.
Release APK builds keep subosito, which they need for the Android engines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FBbkN4ZB4aUPJPzR2prRan
2026-10-02 15:03:53 +02:00

754 B

flutter-setup

Composite action: Flutter for gating CI jobs (analyze, test, web build) from a slim cached SDK.

- uses: kuhyx/utils/flutter-setup@flutter-setup-v1
  with:
    flutter-version: 3.47.6   # same as .fvmrc
    working-directory: app    # where pubspec.lock lives

Why

subosito/flutter-action with cache: true caches the whole SDK: 1.6 GB, about 13 s to download and 25 s to extract on every job, on a hit. That alone kept every Flutter job over a minute. This action caches a depth-1 clone of the release tag plus the host and web artifacts: 393 MB compressed, about a quarter of the restore.

Release APK builds keep subosito/flutter-action: they need the Android artifacts this action deliberately leaves out.