ci(android): add PR-time validation path for the Android Gradle build #280
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol#280
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
.forgejo/workflows/release-android.ymlruns only on tag push (v*.*.*). That means any change to the Android toolchain surface — gradle wrapper,apps/client/plugins/with-release-signing.js,apps/client/package.json,patches/against react-native or expo-modules,app.jsonconfig plugins, Expo SDK bumps, JDK pin in the workflow — ships unverified by CI until somebody cuts a release tag.We just hit this in #278: foojay-resolver 0.5.0 vs Gradle 9 was a tag-only failure that nobody saw on the merge commit, only when the release pipeline ran.
Proposal
Add a PR-time job that exercises at least the Gradle configuration phase for the Android build, scoped so it only runs when something Android-shaped changes.
Shape sketch:
What this catches:
with-release-signing.jsplugin outputapp.jsonplugin config that breaks prebuildrelease-android.ymlitself (steps, env vars)What this doesn't catch (and is fine to skip):
assembleDebug/Releaseand are uncommon. Real release tag still validates.signed != 'true'fallback branch anyway.Considerations
paths:so the API-only PRs still see fast CI.release-android.ymlcould be refactored to share..forgejo/actions/setup-androidor a reusable workflowworkflow_call. Avoids drift between the PR job and the release job.Acceptance
apps/api/orapps/client/app/(non-Android paths) does not trigger the Android job — fast PR remains fast.