+++ date = "2018-02-26T11:00:13+01:00" title = "Continuous Integration" author = "Lars Bilke" weight = 1013 [menu] [menu.devguide] parent = "development-workflows" +++ ## Introduction > [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration) (short **CI**) is the practice of merging all developer working copies to a shared mainline several times a day. So for every proposed change to the source code the following is done automatically: - Compilation of the changed code merged with the official source code is tested on a variety of platforms (Windows, Linux, Mac OS, different compilers) - A comprehensive [test suite](TODO: link unit testing) checks validity of the proposed changes - Additional checks regarding code formatting and documentation help in maintaining a good software quality and structure After the system is done with all these tasks the developer can view build reports highlighting occurred errors and problems. We are using [Jenkins](TODO: link) as our CI system. ## CI on OGS All of this automatically kicks in when you open a [Pull Request](../code-reviews) on GitHub. You will notice a checks block at the end of the pull request page:  Click on the *Details* link to find out the reason for a failed check. If you add more commits to this pull request all checks are run again. # Enable CI on your fork You can have the CI system testing all your branches in your fork of OGS even before creating a pull request. Just contact us and provide your GitHub user name.