Skip to content

Add a job for creating an Android Application Bundle

Ingo Klöcker requested to merge work/kloecker/android-app-bundle into master

Android Application Bundle (AAB) is the package format that is required for publishing new applications in Google Play.

The new job uses the artifacts created by the three architecture-specific build jobs to create the AAB. For this, we archive everything needed from the arm64 job, and we archive only the architecture-specific bits (i.e. the compiled libraries) for arm32 and x86-64. This is based on how Krita creates its AABs.

This MR also removes the artifacts:expose_as from the three architecture-specific build jobs since it is incompatible with glob patterns (which we use in artifacts:paths for arm64). I think, it anyway made very little sense to expose those job artifacts in the merge request UI. They are still available in the jobs.

The jobs have been tested with Itinerary: https://invent.kde.org/pim/itinerary/-/pipelines?page=1&scope=all&ref=work%2Fkloecker%2Fandroid-app-bundle

It's possible that for other applications the jobs need some tweaks with respect to what artifacts need to be archived.

Projects for which the QTANDROID_EXPORTED_TARGET isn't equal to the project name need to set the KDECI_ANDROID_TARGET variable in their .gitlab-ci.yml, e.g. for Itinerary it needs to be set to itinerary-app.

@vkrause

Edited by Ingo Klöcker

Merge request reports