ea37f63aa9252483e30ecd2d0813f7ec19459b92
The act runner (used by this Gitea Actions instance) expects GITHUB_ENV and GITHUB_PATH files, not GITEA_ENV_FILE/GITEA_PATH_FILE which were empty, causing the SDK install step to fail with 'No such file or directory'.
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.9%
Kotlin
19.5%
C++
13.2%
Python
11.6%
CMake
10.5%
Other
9.3%