Build a signed Flutter APK on desktop-release and publish versioned assets so private-repo Obtainium can track frosty-arm64-v8a-v*.apk. Co-authored-by: Cursor <cursoragent@cursor.com>
1.5 KiB
1.5 KiB
Obtainium (Android)
Forgejo fork: copilot/frosty (private).
Releases: .forgejo/workflows/release.yml on runner desktop-release (tag v* or workflow_dispatch).
Obtainium settings
| Setting | Value |
|---|---|
| Source | Forgejo |
| URL | https://forgejo.fsociety00.cc/api/v1/repos/copilot/frosty/releases |
| APK filter | frosty-arm64-v8a-v.*\.apk |
| Trim version | v?([0-9]+\.[0-9]+\.[0-9]+) |
| Match group | 1 |
Repo is private → add a Forgejo API token in Obtainium (same PAT as other Newas apps).
Quick add:
obtainium://add/https://forgejo.fsociety00.cc/api/v1/repos/copilot/frosty/releases
Signing / Play Store conflict
Package id stays com.tommychow.frosty. Play Store Frosty and this fork use different signing keys, so Obtainium cannot update stock → fork in place. Uninstall the Play build first, then install from Obtainium.
CI secrets (Forgejo repo)
| Secret | Purpose |
|---|---|
RELEASE_KEYSTORE_BASE64 |
Same pattern as Flow / Finamp / Jellyfin forks |
STORE_PASSWORD |
Keystore password |
KEY_ALIAS |
Key alias |
KEY_PASSWORD |
Key password |
CLIENT_ID |
Twitch Helix app client id (--dart-define) |
SECRET |
Twitch Helix app secret (--dart-define) |
Cut a release
- Bump
version:inpubspec.yaml(x.y.z+build) if needed. - Tag and push:
git tag vX.Y.Z && git push origin vX.Y.Z
or run Actions → Release APK → Run workflow. - Install / update via Obtainium once the release asset appears.