a7273dce2be2afc5263799f34fe0047f10fda1dd
Kyle's Comment #155: the python venv initialization was removed from postCreateCommand, breaking tools like the whitelabeler script that depend on python dependencies. Restored the full init chain plus the mounts section that was also lost.
KRYZ Go!
About
A Flutter application for KRYZ LP-FM 98.5 Mariposa. This is our Mobile application that ties our listiners into our radio station while on the Go!
Operations
Build
flutter build <platform>
Will build a release build for <platform>.
Running in Debug mode
With a device or devices connected:
flutter run <platform>
Will execute the application in the debugging sandbox.
Building and deploying in release mode (required for iOS launcher.)
Assumes the device is connected meaningfully to the session:
flutter build <platform> && flutter install
Flutter build tools
Renaming the app
dart run flutter_name_manager:rename_app --name "KRYZ Go!"
Updating the launcher icons
dart run flutter_launcher_icons
CI/CD Pipeline
This project uses Gitea Actions for continuous integration and release automation.
Pipeline Overview
┌─────────┐ ┌────────┐ ┌──────────────┐ ┌──────────────┐
│ Lint │───►│ Test │───►│ Build Android │ │ Build iOS │
│ │ │ │ │ (APK + AAB) │ │ (self-hosted)│
└─────────┘ └────────┘ └──────────────┘ └──────────────┘
│ │ │
▼ ▼ ▼
dart fmt flutter test flutter build ios
flutter analyze (--no-codesign fallback)
Workflows
CI (.gitea/workflows/ci.yml)
Triggers on:
- Push to
mainordevelop - Pull requests targeting
main
Stages:
- Lint —
dart format --fix+flutter analyze --fatal-warnings - Test —
flutter test(coverage on main branch pushes) - Build Android — APK + AAB release builds with artifact upload
- Build iOS —
flutter build ios --release --no-codesign(runs on self-hosted macOS runner)
Release (.gitea/workflows/release.yml)
Triggers on:
- Git tags matching
v*(e.g.,v1.0.0)
Stages:
- Lint —
dart format --set-exit-if-changed+flutter analyze --fatal-warnings - Test —
flutter test - Build Android Release — Signed APK + AAB
- Build iOS Release — Signed IPA (or
--no-codesignfallback) - Publish Release — Creates Gitea release + uploads artifacts
Configuration
| Secret | Required | Description |
|---|---|---|
ANDROID_KEYSTORE_BASE64 |
No | Base64-encoded Android release keystore |
ANDROID_KEYSTORE_PASS |
No | Keystore password |
ANDROID_KEY_ALIAS |
No | Key alias |
ANDROID_KEY_PASS |
No | Key password |
APPLE_CERTIFICATE_P12 |
No | Base64-encoded Apple signing certificate |
APPLE_CERTIFICATE_PASS |
No | Certificate password |
APPLE_PROVISION_PROFILE |
No | Base64-encoded provisioning profile |
GITEA_TOKEN |
Yes (Release) | Token for creating Gitea releases |
Without signing secrets, builds use debug keys or --no-codesign.
CI Status
Troubleshooting
- Stubs missing: The
ci_stub_gen.pyscript auto-generateslib/generated/*.dartstubs whentheme.jsonis absent. - macOS runner unavailable: The iOS stage uses
self-hostedlabel. Ensure a macOS Gitea runner is registered. - Format checks: CI uses
dart format --fix(auto-fix). Release uses--set-exit-if-changed(gate).
Languages
Dart
35.4%
Kotlin
19.1%
Python
13.1%
C++
12.9%
CMake
10.3%
Other
9.2%