Provide nightly builds
CaptainBeyondDS8 opened this issue · 5 comments
We should set up a CI service that provides nightly builds.
I'm hesitant to officially release anything until I'm satisfied with it (which could be never), but I feel some people might want a "fixed Turbo Editor" they can install before then.
(Alas, I'm probably 2 years too late on that, oh well)
This'll probably be done over on our gitlab instance, since we have a working Docker runner. The plan is to set up a CI environment that approximates F-droid's build environment (the idea being if we can build it, F-droid should be able to as well).
CI is now running on gitlab, using the fdroid docker build image.
https://gitlab.monarch-pass.net/malacoda/text-editor-8000/pipelines
Reopening as the built artifacts refuse to install (system says "the package appears to be corrupt"). Running the build image locally produces the same result, so it seems to be an issue with the image. Artifacts built from the gradle wrapper seem to work fine though.
Error seems to be this
06-24 18:36:55.540 2791 3119 E PackageInstaller: Commit of session 846080250 failed: Package /data/app/vmdl846080250.tmp/PackageInstaller has no certificates at entry AndroidManifest.xml
I had assumed debug builds weren't signed but actually they're signed with an autogenerated debug key, which makes sense. We could potentially do the same here but that defeats the purpose of having a signed build to begin with.
There isn't any way to install this thing without signing it first so it's probably useless to most users. I'll investigate a secure way to sign the build on gitlab.
Most likely what we'll end up doing is storing the key in the repo and providing the password as an environment variable.
Ref. https://www.reddit.com/r/androiddev/comments/5fbtnn/using_gitlab_ci_to_create_release_build_type_apk/
https://stackoverflow.com/questions/29919066/what-is-the-best-practice-to-use-keystores-to-sign-release-version-of-an-android