Skip to content
Merged
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
15 changes: 9 additions & 6 deletions CI_WORKFLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ The CI workflow runs automatically on:
- **Pull requests** to `main`, `master`, or `develop` branches
- **Manual dispatch** (can be triggered manually from GitHub Actions tab)

> **Keep in sync**: this document mirrors `.github/workflows/ci.yml` and `android_release.yml`. Any `flutter-version` or `java-version` bump in the workflow must update this doc in the same commit.

## Workflow Jobs

### 1. Test Job (`test`)
Expand All @@ -19,13 +21,13 @@ This is the primary job that runs all Flutter unit tests and performs code quali
**Steps:**
- ✅ Checkout repository
- ✅ Setup Java 17 (Oracle distribution)
- ✅ Setup Flutter 3.32.x (stable channel)
- ✅ Setup Flutter 3.38.x (stable channel)
- ✅ Cache Flutter dependencies for faster builds
- ✅ Create environment file (`.env`) with test configuration
- ✅ Install Flutter dependencies
- ✅ Verify Flutter installation
- ✅ Analyze code with `flutter analyze --fatal-infos --fatal-warnings`
- ✅ Check code formatting with `dart format --set-exit-if-changed`
- ✅ Analyze code with `flutter analyze --fatal-infos --fatal-warnings` *(non-blocking: `continue-on-error: true`)*
- ✅ Check code formatting with `dart format --set-exit-if-changed` *(non-blocking: `continue-on-error: true`)*
- ✅ Run tests with coverage using `flutter test --coverage --reporter expanded`
- ✅ Upload test results and coverage reports as artifacts

Expand Down Expand Up @@ -100,9 +102,10 @@ The workflow generates comprehensive test coverage reports:
- ✅ Build and integration tests are skipped to save resources
- ✅ Summary job still runs to provide consolidated status

### When Code Quality Checks Fail
- ✅ **Analysis failures**: Detailed warnings/errors shown in logs
- ✅ **Formatting failures**: Shows which files need formatting
### When Code Quality Checks Run With Issues
Note: `flutter analyze` and `dart format` run with `continue-on-error: true` — they report findings but do **not** fail the CI job.
- ✅ **Analysis warnings**: Shown in logs and the GitHub step summary
- ✅ **Formatting issues**: Listed in logs; run `dart format --page-width=120 .` locally to fix
- ✅ **Build failures**: Full build logs available for debugging

## Local Testing
Expand Down
Loading