Hi all, As mentioned in the subject, i'm happy to announce the general availability of native Gitlab CI for all KDE projects for Linux, FreeBSD and Android.
For those who would like to get their projects setup, please ensure you first have a .kde-ci.yml file in the root of your repository specifiying the necessary dependencies of your project and any options your project requires to build and conduct tests. You can find a list of all the supported options at https://invent.kde.org/sysadmin/ci-utilities/-/blob/master/config-template.yml along with guidelines on how to specify your dependencies. Please note the following when specifying the branch to use: - @same should be used for projects which are released together and which follow the same branching scheme (release/21.08 for instance) - @stable should be used to refer to the current stable branch - @latest should be used to refer to the current development branch While the system has been seeded based on the current dependency metadata, if this was incorrect for your project then you may find that the system gives an error that it cannot locate the dependency when first run. If this happens to you then please look into submitting a merge request to https://invent.kde.org/sysadmin/ci-management/-/tree/master/seeds so that this dependency can be included in future seed runs. Once you have your .kde-ci.yml file setup you can then setup your .gitlab-ci.yml to include the appropriate platform files from https://invent.kde.org/sysadmin/ci-utilities/-/tree/master/gitlab-templates. Please note that currently this is limited to builds for master and other development branches, as the necessary metadata for @stable is not yet fully in place. This information can be found at https://invent.kde.org/sysadmin/repo-metadata/-/blob/master/branch-rules.yml - it would be appreciated if developers could please look into updating this for their projects at the same time. With regards to Windows builds, they should become available soon - there is still some infrastructural work that needs to be completed on our Docker image, as well as the facilities to build those images which needs to be completed prior to these being available. We will be transitioning to using Docker for our Windows builds which will hopefully eliminate many of the issues we've had with lingering processes that have plagued the Jenkins system. With the availability of these Gitlab builds we are now entering the twilight phase of our Jenkins based system at build.kde.org so it is imperative that developers setup their CI using the new tooling. For those using the legacy Jenkins system with Gitlab (using the templates at https://invent.kde.org/sysadmin/ci-tooling/-/tree/master/invent) these will be discontinued at the same time as build.kde.org, so you will need to migrate to the new tooling as well. Please let us know if you have any questions on the above. Thanks, Ben