apps-android-commons
apps-android-commons copied to clipboard
Upload APKs to GitHub
The IzzyDroid app store (similar to F-Droid, getting popular) requires us to have APKs available for download: https://gitlab.com/IzzyOnDroid/repo/-/issues/598#note_2061639704
I suggest adding that step to https://github.com/commons-app/commons-app-documentation/blob/master/android/Project-maintenance.md#generate-release-build-after-verification
@sivaraam One more task at each release but is it OK for you?
It is not urgent, uploading APKs can start from the next release. :-)
Maybe we can automate the release process? I could try to implement something similar to this
Needs some effort for the first time, but should be useful for the upcoming releases
@shankarpriyank Tramline sounds great indeed! It may even let us releases alphas based on main. And they write "Enterprise tier available free to all open source apps" 🙂
Would you like to try and document all setup steps?
Unfortunately we can not give the app's keys/passwords/etc to anyone, thank you for your understanding! 🙇 But if you want we can work on this together, you do the research using your own GitHub repo, and you tell me where to click 😁. What do you think?
Sure, let me read more about this, and try to make a poc sort of thing
hi @nicolas-raoul i did some reading out, could not test it end to end as I donot have a developer account on playstore. I know sharing access would be bad idea, so I guess will need to open an account on tramline for this to work, they have a standard github action file which we can later modify to suit our needs. Also the founder of Tramline, reached out to me and they will be happy to help if we run into any issues
If you could point me to relevant docs, I could try to achieve the automation using Tramline while doing the next release.
@sivaraam This blog should be helpful The official docs are here and if you run into any problems you can text them on discord and they will be more than happy to help
I tried setting this up. Unfortunately this requires a service account allowed to create releases, and I am rather pessimistic on our chances of getting this from WMF. Sivaraam if you are more optimistic you may want to ask, as it would be super helpful to create an alpha track.
@nicolas-raoul Just out of curiosity, is there any benefit of publishing the app via IzzyDroid given that we already are listed directly on the F-droid store ? 🤔
Their philosophies are different, so some people use only IzzyDroid. Also, IzzyDroid performs various audits on the APKs, which some may want to see.
Having APKs on GitHub also allows normal users to go back to a previous release if they don't like the new one (or if it is too big for their device for instance) with running into signature issues (F-Froid APKs have a different signature). 🙂
Their philosophies are different,
Those are indeed different; F-droid includes only 100% open source (resorting to patches to remove non-free libraries if required), while IzzyOnDroid will allow some small amount on popular non-free libs (things like GMS, ARCore, closed-source ads libraries, analytics) etc., in order to be able to provide unmodified developer-signed .apk (even in cases they are not reproducible-builds)
so some people use only IzzyDroid.
Perhaps possible, but I have not really heard of that. Perhaps sthey could chime in with their reasons if it is interesting to them? Does not make much sense to me. At the very least; vast majority of people who use IzzyOnDroid seem to do that as an additional repository to a F-droid one.
It seems to ma that most IzzyOnDroid users are those who highly prefer open source software, but are not 100% absolute about it.
Having APKs on GitHub also allows normal users to go back to a previous release if they don't like the new one (or if it is too big for their device for instance)
That is a good reason, but app downgrades are not really supported on newer Androids, are they? So they would have to uninstall the app and install the older one (losing all the data in the process, of course) anyway, in which case they could install older versions from F-droid archive too, as there is no signature conflict in that case...
with running into signature issues (F-Froid APKs have a different signature).
Sooo, perhaps we could work on making the Commons app builds reproducible? That would give us best of both worlds (Developer signed + verified builds + f-droid).
Also, if RB is implemented, it helps with security checks (i.e. confirming by independent party that binary corresponds to alleged source code).
Great insights, I just created https://github.com/commons-app/apps-android-commons/issues/6170 🙂
So, what is the status of this?
Would it be possible for https://github.com/commons-app/apps-android-commons/releases/ to contain not only source code, but also pre-compiled .apk files? Either automatically, or by release maintainer adding it manually after release?
(or does the https://github.com/commons-app/apps-android-commons/issues/5786#issuecomment-2337373039 mean that nobody on the team here can actually control GitHub release page and what is being shown there?)
Having .apk file released somewhere publicly accessible would be especially useful for people wanting to help with beta-test releases, but who don't use Google Play (like myself 😸). They could then also choose to be automatically notified about pre-releases, e.g. via Obtainium.
Related:
- https://github.com/commons-app/apps-android-commons/issues/6238
- https://github.com/commons-app/apps-android-commons/issues/2493