46 lines
1.5 KiB
Markdown
46 lines
1.5 KiB
Markdown
|
|
# Obtainium (Android)
|
||
|
|
|
||
|
|
Forgejo fork: [copilot/frosty](https://forgejo.fsociety00.cc/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:
|
||
|
|
|
||
|
|
```text
|
||
|
|
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
|
||
|
|
|
||
|
|
1. Bump `version:` in `pubspec.yaml` (`x.y.z+build`) if needed.
|
||
|
|
2. Tag and push: `git tag vX.Y.Z && git push origin vX.Y.Z`
|
||
|
|
or run **Actions → Release APK → Run workflow**.
|
||
|
|
3. Install / update via Obtainium once the release asset appears.
|