Skip to content

ci: run analyze and test on PRs and pushes to main - #9

Merged
agustinkassis merged 1 commit into
mainfrom
claude/fervent-chatelet-1c490c
Oct 23, 2026
Merged

agustinkassis merged 1 commit into
mainfrom
claude/fervent-chatelet-1c490c

Conversation

@agustinkassis

Copy link
Copy Markdown
Member

Adds the repo's first GitHub Actions workflow. There was no .github/ directory before this; the only verification on a release was running flutter analyze and flutter test by hand.

What runs

.github/workflows/ci.yml — one job, on every PR to main and every push to main:

  • flutter pub get
  • flutter analyze
  • flutter test

All three verified locally on a clean tree before writing the workflow: analyze reports no issues, 110 tests pass.

Deliberate omissions

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. MainActivity.kt imports com.zcs.sdk unconditionally, so the Kotlin compile cannot succeed on a clean clone. Android builds stay on a machine that has the SDK — see The proprietary bits.

No dart format --set-exit-if-changed. The tree does not currently satisfy it — lib/domain/ticket/gift.dart differs (7 insertions, 4 deletions, all line-wrapping). Reformatting was out of scope, so the step is left out with a comment saying what to do first. Easy follow-up if you want it enforced.

Both omissions are commented in the workflow so the next person doesn't add them and turn CI red.

Version pinning and caching

Flutter is pinned to 3.44.4 — the version this project is developed against — rather than tracking stable, since pubspec.yaml only sets a floor (flutter: ">=3.29.0"). The version lives in one env var.

Both caches are on: cache: true for the Flutter SDK and pub-cache: true for pub packages. The pub cache key includes hashFiles('pubspec.lock'), because the action's default key is scoped only to OS/channel/version/arch and so would never refresh when dependencies change.

Workflow passes actionlint clean.

🤖 Generated with Claude Code

Dart-level checks only: pub get, analyze, test. No Android/APK job — the ZCS
SmartPos jars and native libs are proprietary and gitignored, so a Kotlin
compile cannot succeed on a clean clone.

Flutter is pinned to 3.44.4 rather than following `stable`, since pubspec
only gives a floor (>=3.29.0). SDK and pub caches are both on, with the pub
cache keyed on pubspec.lock so it refreshes when dependencies change.

`dart format --set-exit-if-changed` is left out: lib/domain/ticket/gift.dart
does not currently satisfy it, and reformatting was out of scope.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 23, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 078b8116-39b4-4291-b68b-21ee4a56cd11
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@agustinkassis
agustinkassis merged commit 52a041c into main Oct 23, 2026
2 checks passed
@agustinkassis
agustinkassis deleted the claude/fervent-chatelet-1c490c branch October 23, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant