mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-10 22:07:15 +01:00
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
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
23 lines
754 B
Markdown
23 lines
754 B
Markdown
# flutter-setup
|
|
|
|
Composite action: Flutter for **gating** CI jobs (analyze, test, web build)
|
|
from a slim cached SDK.
|
|
|
|
```yaml
|
|
- 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.
|