Build and host dependencies for faster apk builds
Problem
We have some apks which rely on 3rd party dependencies. As we don't accept any binaries from untrusted sources (= almost every binary), we need to rebuild these dependencies for every apk update. As some of these rebuilds take a lot of time, this quite of blocks our builds.
Examples
The trigger for this issue was the need for Haskel from Source for PrivateStorage via nix, which already is needed for SimpleX. This already adds 12h build time.
Also SDK/NDK were already discussed , as well as a lot of packages on maven central.
Possible solution
I suggest that we create an overview here, which dependencies are rebuilt, which apps use them, how regularly are they updated and how much build time does it consume.
Maybe we can find some dependencies, which get used by more than one apk, or some dependencies that can be re-used for a bunch of versions of the same apk.
If we have some kind of overview, we can try to cluster the most urgent dependencies and decide on this data on how to proceed further.
Dependencies
Dependency | Version | used by | build time | how often rebuild |
---|---|---|---|---|
Haskell | io.privatestorage.privatestoragemobile | 6-12h | ||
Haskell | chat.simplex.app | 6h | 2 times per apk version | |