Add Forgejo Actions workflows for automated Flutter validation on PRs: - flutter-analyze.yml: runs dart analyze --fatal-infos on all 8 packages/apps - flutter-test.yml: runs flutter test per package with pass/fail reporting - Aggregate test result summary table in workflow output - Workflows trigger on PRs to main and all non-main branch pushes - Uses ghcr.io/cirruslabs/flutter:stable container image Populate tools/ directory with CI helper scripts: - run_all_tests.sh: local test runner with optional --analyze flag - README.md: documents scripts and CI workflow inventory Validated locally: - dart analyze: all 8 packages/apps clean (no issues) - core: 20/20 tests passed - design_system: 41/41 tests passed - feature_wordpress: 294/294 tests passed - kell_web: 24/24 tests passed - Total: 379/379 tests passed |
||
|---|---|---|
| .. | ||
| README.md | ||
| run_all_tests.sh | ||
README.md
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:
# 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:
- Installs dependencies (
flutter pub get) for all packages and apps. - Optionally runs
dart analyze --fatal-infoson each package/app. - Runs
flutter test --reporter expandedfor packages with tests. - 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--analyzewas 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 |