Parent
Part of #79 (app distribution).
Summary
CI can already assemble a release APK on v* tags / workflow_dispatch (.github/workflows/android-preview.yml), with SHA-256 and provenance attestation — but the binary only lands as a GitHub Actions artifact (7-day retention). That is not a durable public download channel.
Why it matters
Non-technical users and organizers need a stable URL. Actions artifacts expire and are awkward to share under stress. README / website/ assume a real download path will exist.
Evidence
Proposed direction
On v* (and optionally manual): create/update a GitHub Release, attach APK + SHA256SUMS (and link attestation). Keep or retire the short-lived artifact upload once Releases work.
Done when
Related
Production signing is separate (child of #79). Download page depends on this + #61.
Parent
Part of #79 (app distribution).
Summary
CI can already assemble a release APK on
v*tags /workflow_dispatch(.github/workflows/android-preview.yml), with SHA-256 and provenance attestation — but the binary only lands as a GitHub Actions artifact (7-day retention). That is not a durable public download channel.Why it matters
Non-technical users and organizers need a stable URL. Actions artifacts expire and are awkward to share under stress. README /
website/assume a real download path will exist.Evidence
protestchat-android-preview-*artifacts; summary notes Expo template / non-production signingProposed direction
On
v*(and optionally manual): create/update a GitHub Release, attach APK +SHA256SUMS(and link attestation). Keep or retire the short-lived artifact upload once Releases work.Done when
vX.Y.Zproduces a Release with APK + checksumswebsite/README.md/ get-started once the download page existsRelated
Production signing is separate (child of #79). Download page depends on this + #61.