Porting GNOME Continuous
By this stage, what has been done in previous milestones has covered everything we need to:
- Build GNOME bootable systems and Flatpak assets from the same build metadata maintained by GNOME release team
- Satisfy the basic requirements for a developer, and enhance that experience beyond what JHBuild was doing by offering bootable VM deployments and reliable builds with no host tool or host library involvement
To close the loop here, we need to study the existing GNOME Continuous project, how it builds and how it triggers the installed tests and screenshots that it performs from a booted VM, and replicate that whole thing.
This will involve:
- Running the GNOME Continuous process locally on some machine
Replacing the build process with a BuildStream process which builds directly from the GNOME release modulesets repository
- Keep everything else in place, how builds are triggered and how the CI is run on the resulting builds
The Freedesktop sdk project aims to do this.
Possibly some of the CI can be implemented as BuildStream plugins to run at the end of a pipeline.
Also it's worth considering if we can achieve most of this using a gitlab instance, leveraging gitlab to do this may significantly reduce the cost of maintaining Continuous and also give us some added features, we can explore using it for running pre-merge CI on GNOME projects in general.