CI: slim Flutter SDK for gating jobs; APK only on app changes, Gradle cached
Some checks failed
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (flutter, flutter-analyze, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (mypy, mypy, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (pylint, pylint, ) (push) Waiting to run
pre-commit / pre-commit (${{ matrix.group }}) (rest, , mypy,pylint,flutter-analyze) (push) Waiting to run
Tests / test (push) Waiting to run
Tests / lock-popup-safety (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (0) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (1) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (2) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (3) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (4) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (5) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (6) (push) Waiting to run
Tests / flutter test (shard ${{ matrix.shard }}) (7) (push) Waiting to run
Tests / flutter-coverage (push) Blocked by required conditions
Tests / web-coverage (push) Waiting to run
release-apk / release (APK) (push) Has been cancelled

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Krzysztof Rudnicki 2026-10-02 15:06:56 +02:00
parent 6f351179d7
commit 429e854ddd
3 changed files with 16 additions and 8 deletions

View File

@ -57,12 +57,11 @@ jobs:
# The flutter-analyze hook shells out to `flutter analyze` in
# stronglift_replacement/workout_app. Pin to the version the app is
# developed against (Dart SDK ^3.12.2) so CI's analyzer matches local.
- uses: subosito/flutter-action@v2
- uses: kuhyx/utils/flutter-setup@flutter-setup-v1
if: matrix.group == 'flutter'
with:
flutter-version: 3.47.6
channel: stable
cache: true
working-directory: stronglift_replacement/workout_app
# analyze needs resolved packages (.dart_tool); the hook runs analyze
# only, so fetch deps here first.
- name: Resolve Flutter packages

View File

@ -92,13 +92,12 @@ jobs:
steps:
- uses: actions/checkout@v4
# cache: true keeps the SDK and ~/.pub-cache between runs; without it
# the SDK download alone was ~57 s.
- uses: subosito/flutter-action@v2
# The slim cached SDK (utils/flutter-setup): subosito's full-SDK
# cache cost ~38 s to restore even on a hit.
- uses: kuhyx/utils/flutter-setup@flutter-setup-v1
with:
flutter-version: 3.47.6
channel: stable
cache: true
working-directory: stronglift_replacement/workout_app
- name: flutter test --coverage, bucket ${{ matrix.shard }}
run: bash scripts/check_flutter_coverage.sh --shard "${{ matrix.shard }}/$FLUTTER_SHARDS"

View File

@ -3,6 +3,14 @@ name: release-apk
on:
push:
branches: [main]
# A publisher, not a gate: build only when something that ends up in
# the APK changed. versionCode is the commit count, so skipped pushes
# still leave it monotonic.
paths:
- 'stronglift_replacement/workout_app/**'
- '.fvmrc'
- '.versioncode-offset'
- '.github/workflows/release-apk.yml'
# Lets a release be rebuilt from the current main without a dummy commit.
workflow_dispatch:
@ -47,6 +55,8 @@ jobs:
with:
distribution: temurin
java-version: "17"
# ~/.gradle caches + wrapper, keyed on the Gradle files.
cache: gradle
- uses: subosito/flutter-action@v2
with: