hoangsonww / hoangsonww/Diffuse-Native-Apps
Publish unsigned Android artifacts on tagged releases
- Dominant language
- Swift
- Stars
- 2
- Forks
- 0
- Avg merge
- 1h 53m
- Merged PRs (30d)
- 14
Description
## Motivation
`Documentation/Releasing.md` records this as a known gap: `release-macos.yml` and `release-apple.yml` both fire on `v*` tags and attach unsigned zips plus `SHA256SUMS` to the GitHub Release, but there is no Android equivalent. `android.yml` only uploads an APK as a 14-day workflow artifact on qualifying pushes.
The result is that a Diffuse release is not actually a release of Diffuse. Four of the five apps are attached to the tag; the fifth has to be fetched from an expiring artifact on whichever workflow run happened to be green, by someone who knows to look there. For a product whose whole pitch is five native apps, that is an inconsistency users and packagers will hit immediately.
## Proposed Solution
Add `.github/workflows/release-android.yml`, triggered on `push: tags: ["v*"]` with `contents: write`, mirroring the structure of the existing Apple release workflows. It sets up Temurin 17, runs `./gradlew assembleRelease bundleRelease` in `Android/`, stages `Diffuse-android-v.apk` and `Diffuse-android-v.aab` into `dist/`, emits `shasum -a 256` into `SHA256SUMS-android`, and uploads via `softprops/action-gh-release@v2` with `append_body: true` so it merges into the same Release the Apple workflows create.
Artifacts stay unsigned, consistent with [ADR 0005](Documentation/adr/0005-generated-unsigned.md). No keystore, no signing config, no secret.
## Acceptance Criteria
- [ ] `release-android.yml` triggers on `v*` tags and needs only `contents: write`
- [ ] Attaches both an unsigned APK and AAB named with the tag version
- [ ] Emits SHA-256 checksums that merge cleanly with the Apple workflows' `SHA256SUMS`
- [ ] Release notes are not clobbered when several release workflows target the same tag
- [ ] `Documentation/Releasing.md` loses the "no tag-triggered Android release workflow yet" caveat
- [ ] A dry run on a throwaway tag proves all three workflows coexist on one Release
## Additional Context
Existing prior art: `.github/workflows/release-apple.yml` (matrix + `publish` job merging artifacts).
Contributor guide
Assessment
This issue has not been assessed yet.