Is there a way to prebuild "SDK" for a Flaptak GitLab CI?

I added GitLab CI into evolution-data-server, evolution and evolution-ews recently, which builds the projects with their dependencies as a flatpak bundle (and the eds one also runs the unit tests). The thing is that the CI sometimes fails when building openldap dependency; restarting the job fixes it, thus there can be a problem in parallel build. The other problem is that evo builds its dependencies, including eds. Similarly ews builds evo and its dependencies (the builds pile up).

I’d like to: a) speed up the build; b) use less resources during the build on the GNOME machines.

I think, if there could be a way to have my own SDK, which will have prebuilt all needed dependencies for all three projects and the CI in respective projects will build only those top projects, then it’ll save a lot of time and resources for the CI runs.

Is it possible to have such SDK?

It should derive from the latest GNOME nightly, of course, where with “the latest” I mean the latest of the build of the project files, not the latest of the time I’d prebuild the “private” SDK.

There’s work in progress to publish the GNOME SDK as OCI images. You can track it here: Draft: ci: Publish the OCI images (!1338) · Merge requests · GNOME / gnome-build-meta · GitLab

I’m sorry, these things are out of my head, I’ve been kinda happy to make the CI working at least in some way. Is the OCI image helpful to my problem of “adding additional software to the SDK”?

1 Like