KDE has a Continuous Integration system, based on Jenkins and some other custom tooling operating at build.kde.org. It provides automatically triggered builds to ensure software produced by the KDE Community can always be built by other contributors and packagers, and that regressions don't occur by running each project's tests once it has been built and installed.
Currently the CI system provides the capability for projects to be built on the following platforms:
- Ubuntu Xenial with Qt 5.7 (GCC)
- OpenSUSE Tumbleweed with Qt 5.9 (GCC)
- Fedora 25 with Qt 5.9 (GCC)
- FreeBSD 11 with Qt 5.7 (Clang)
- Windows 10 Enterprise with Qt 5.7 (MSVC 2017 Enterprise)
Due to the nature of how it works, the CI system has a large number of components to it and concepts which need to be understood if you are making changes to it's operation. This can all generally be broken down into the following units. It is recommended you read each one in the order below.
- Core Concepts
- Generating Jobs
- Resolving & Retrieving Dependencies
- Configuring, Compiling & Installing Projects
- Running Tests and Other Quality Checks
Table of Contents
Custom build configurations
Git repository structure
Groovy DSL Documentation
Python Automation Tools Documentation
New Jobs Must be listed in config/identifiers.json !