6 Commits

Author SHA1 Message Date
923f58420d CI: vägra bygga APK på arm64/Pi5 — spärr först i jobbet
Some checks failed
release / build-release (push) Failing after 13m22s
Bygget ska bara gå på brasse-linux01 (label linux-amd64). Om jobbet ändå
hamnar på en arm64-runner avbryts det direkt, innan gradle startar, så att
Pi5:n inte OOM:ar och tar ner alla tjänster.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AFvSx1pF9pymyEuK7MFkEG
2026-09-06 12:57:42 +02:00
64df3befd5 CI: APK-bygget låses till brasse-linux01 (label linux-amd64)
All checks were successful
release / build-release (push) Successful in 5m39s
Gitea har ingen runner-prioritet — med delade labels tog Pi5:n jobben på
slump och OOM:ade. Webb/gym-api-byggena måste samtidigt stanna på Pi5
(arm64-images + localhost-registry), så PC-runnern har nu en exklusiv
linux-amd64-label som bara FitnessDroid använder. Är datorn av köas bygget.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
2026-08-24 10:31:46 +02:00
db3416ccee CI: bygg på valfri arkitektur — brasse-linux01 primär, Pi5 fallback
Some checks failed
release / build-release (push) Has been cancelled
- aapt2-hantering villkorad på uname -m (arm64 = statisk binär, x86_64 =
  Googles ur build-tools), AAPT2_BIN via GITHUB_ENV
- gradle-strypningen (workers=2 + nice) bara på arm64 — Pi5:n orkar inte
  längre APK-bygget med alla tjänster igång (två OOM-krascher 2026-08-23/24)
- Release-uppladdningen provar gitea-d (Pi:ns dockernät) och faller tillbaka
  på publika API-URL:en så steget funkar från båda noderna

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
2026-08-24 10:22:06 +02:00
df4d122562 In-app-uppdatering: koll mot version.json, nedladdning och installation
All checks were successful
release / build-release (push) Successful in 5m26s
- CI publicerar version.json (versionCode/versionName ur APK:n, sha256,
  apkUrl) som release-asset
- Appen jämför versionCode vid start; banner på hemskärmen med
  nedladdningsprogress; sha256-verifiering; Androids installationsdialog
  via FileProvider (samma signatur -> uppdaterar rakt över)
- REQUEST_INSTALL_PACKAGES + FileProvider i manifestet

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP
2026-07-25 13:08:07 +02:00
73c53e554d CI: pipefail-säkra licenssteget och gör SDK-setup pratigare
All checks were successful
release / build-release (push) Successful in 9m23s
yes | sdkmanager --licenses föll alltid med exit 141 (SIGPIPE) eftersom
jobbet kör med pipefail. Progress-markörer så att framtida fel pekar på
rätt delsteg.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP
2026-07-23 13:16:00 +02:00
777f627888 Grund: Compose-app med login mot gym-API:t, VS Code-task och CI-release
Some checks failed
release / build-release (push) Failing after 1m42s
- Kotlin + Jetpack Compose + Material 3, minSdk 31 (Android 12)
- GraphQL-klient (OkHttp) med login/refresh/validate/logout som webben
- Tokenlagring i DataStore, auto-refresh av JWT
- Signering via gitignorerad signing/ lokalt och Actions-secrets i CI
- VS Code build-task -> build/FitnessDroid.apk
- Gitea Actions: bygger APK på Pi5 (arm64, aapt2-override) och publicerar
  rullande latest-release

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP
2026-07-23 11:59:21 +02:00