Continuous Integration

Introduction

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 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 as our CI system.

CI on OGS

All of this automatically kicks in when you open a Pull Request 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. See the page on Jenkins for further information.

This article was written by Lars Bilke. If you are missing something or you find an error please let us know. Generated with Hugo 0.36.1. Last revision: February 26, 2018
Commit: [web] Misc. fixes in devguide section. acd0870  | Edit this page on


Creative Commons License | Privacy policy / Legal statements / Impressum