Skip to content

F-Droid reproducible-build parity: apply fdroid strip-patches in the GitHub-Releases APK build #95

Description

@dzianisv

Split from #86 (PART 1). PART 2 (stale committed versionCode) is handled in its own small PR.

Problem: F-Droid rebuilds the APK from source and strips Firebase/Google-Sign-In/Sentry via the recipe's fdroid/*-patches. But the app-release.apk on GitHub Releases (referenced by Binaries:, also fed to IzzyOnDroid) is built by .github/workflows/build.yml without those patches, so it still contains Firebase/GMS/Sentry and F-Droid's from-source rebuild diverges → fdroid build fails.

Fix direction: apply the same fdroid/expo-application-patches / fdroid/expo-notifications-patches (or a reproducible build profile) in the tag-triggered release path so the published binary matches F-Droid's rebuild.

Why split out / not auto-applied: it changes the shipped artifact's feature set (removes push notifications + Sentry), build.yml's build job is shared between CI validation and tag releases so it needs tag-only conditional branching, and verification needs real fdroid build tooling (manual).

Acceptance: fdroid build reproduces the published APK; https://f-droid.org/packages/cc.agentlabs.opencode/ progresses. Dedicated branch, human review + local fdroid verification before merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions