ci: chain APK build → image build via needs (fix race, kill polling) #64
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The architectural fix you flagged. android.yml's release job and release.yml were racing on every tag push, with release.yml supposed to poll-and-wait for the APK to appear on the gitea Release page. In practice the poll step was completing in 11 seconds — either following a redirect to a 200 page and writing HTML into the bundled APK, or returning empty silently. Either way the image shipped without a working APK and the Settings download section never rendered.
Architectural fix:
android-releasejob insiderelease.yml.release.yml'simage-releasejob declaresneeds: [android-release], so on tag pushes the image cannot start building until the APK is guaranteed-ready.actions/upload-artifact@v3+download-artifact@v3— no polling, no release-API roundtrip, no silent-failure mode.android-releaseis skipped (itsifis false) andimage-releaseruns withif: !failure() && !cancelled()so the skipped predecessor doesn't poison the chain.android.ymlis now testing-only as you requested: lint + detekt + unit tests on every push, debug APK upload on main. Independent of the release CI.After merge I'll force-move
v2026.06.01to the new HEAD and we should finally get a clean:v2026.06.01+:latestwith the APK actually bundled.