Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: CI

# Dart-level checks only — there is deliberately no Android/APK job. The ZCS
# SmartPos SDK jars (android/app/libs/) and native libs
# (android/app/src/main/jniLibs/) are proprietary, not redistributable and
# gitignored, and MainActivity.kt imports com.zcs.sdk unconditionally, so a
# Kotlin compile cannot succeed on a clean clone. See "The proprietary bits"
# in README.md. Android builds stay local, on a machine that has the SDK.
#
# `dart format --set-exit-if-changed` is also absent on purpose: the tree does
# not currently satisfy it (lib/domain/ticket/gift.dart). Reformat first, then
# add the step.

on:
pull_request:
branches: [main]
push:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
# Supersede in-flight PR runs; let every push to main keep its own status.
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
# pubspec only sets a floor (flutter >=3.29.0), so pin the exact release the
# project is developed against instead of following `stable` wherever it goes.
FLUTTER_VERSION: 3.44.4

jobs:
dart:
name: analyze + test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: stable
cache: true
pub-cache: true
pub-cache-key: flutter-pub-${{ runner.os }}-${{ env.FLUTTER_VERSION }}-${{ hashFiles('pubspec.lock') }}

- run: flutter pub get

- run: flutter analyze

- run: flutter test
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,12 @@ stale check-in screen for an entrada that has already been claimed.
`analyzer ^13`, which cannot co-resolve with the analyzer `flutter_riverpod`
drags in through `test`.
- `sqlite3_flutter_libs` is EOL; `package:sqlite3` v3 bundles the natives.
- **CI runs the Dart checks only** — `flutter analyze` and `flutter test` on
every PR and every push to `main`, pinned to Flutter 3.44.4
([`.github/workflows/ci.yml`](.github/workflows/ci.yml)). There is no APK
job: the ZCS jars the Android build needs are not redistributable, so that
build stays on a machine that has them. See
[The proprietary bits](#the-proprietary-bits).

---

Expand Down
Loading