kell_creations/kell_creations_apps/tools/README.md

45 lines
1.6 KiB
Markdown

# Tools
CI/CD helper scripts for the Kell Creations Flutter monorepo.
## Scripts
### `run_all_tests.sh`
Runs `flutter test` across all testable packages and apps, producing a per-package pass/fail summary.
**Usage:**
```bash
# From kell_creations_apps/ directory
./tools/run_all_tests.sh # Run tests only
./tools/run_all_tests.sh --analyze # Run dart analyze + tests
```
**What it does:**
1. Installs dependencies (`flutter pub get`) for all packages and apps.
2. Optionally runs `dart analyze --fatal-infos` on each package/app.
3. Runs `flutter test --reporter expanded` for packages with tests.
4. Prints an aggregate pass/fail summary table.
**Adding new packages:**
When a new package gains tests, add its path to the `TESTABLE` array in the script. For packages that should be analyzed but have no tests yet, add to the `ANALYZABLE` array only.
**Exit codes:**
- `0` — all tests passed (and analyze clean, if `--analyze` was used)
- `1` — one or more failures detected
## CI Workflows
The corresponding Forgejo Actions workflows live in `.forgejo/workflows/`:
| Workflow | Trigger | Purpose |
| --------------------- | ----------------- | -------------------------------------------- |
| `flutter-analyze.yml` | PRs and branches | Runs `dart analyze` on all packages and apps |
| `flutter-test.yml` | PRs and branches | Runs `flutter test` with result reporting |
| `validate-docs.yml` | Non-main branches | Validates MkDocs documentation build |
| `publish-docs.yml` | Push to main | Publishes documentation to docs host |