Changes

564 bytes added ,  18:37, 21 March 2017
improve Travis description
Line 1: Line 1:  +
This page describes various system performing automatic build verification for CRIU.
 +
 
== Travis CI ==
 
== Travis CI ==
It's a public service, which is integrated with github and it's available for everyone.
+
[https://travis-ci.org Travis CI] is a free public service, it is well integrated with github.
 +
 
 +
To test CRIU with Travis CI, the Ubuntu 14.04 "trusty" VM is used, which has root access and an ability to run Docker containers.details. With Travis CI, we check compilation on all supported platforms (x86_64, arm, aarch64, and power), and execute all tests that can work  on the kernel available. See <code>.travis.yml</code>, <code>scripts/travis/</code> and <code>scripts/build/</code> for details.
 +
 
 +
Building CRIU for other platforms on x86_64 is a bit tricky. We use [[Docker build|Docker]] to get a container for a target platform, and qemu-static to run this container. qemu-static doesn't exist in all distributions, so [[https://github.com/xemul/criu/blob/master/scripts/build/extract-deb-pkg a script] downloads it from Debian and extracts binaries.
   −
We use "The Trusty beta Build Environment", where we have a full root access and an ability to execute docker containers. We use Travis to check compilation on x86_64, arm and aarch64. In addition, we execute all tests which have to work on the Trusty kernel.
+
=== Enabling for your repo ===
   −
The most interesting part of this work is how to build CRIU for other platforms on x86_64. We use [[Docker build|Docker]] to get a container for a target platform and qemu-static to run this container. qemu-static doesn't exist in all distributions, so we download it from Debian and extract binaries from it [https://github.com/xemul/criu/blob/master/scripts/build/extract-deb-pkg].
+
You can test your own criu repo with Travis (and it's highly recommended to check your changes before sending patches to the mailing list).
   −
It's highly recommended to enable Travis for your criu repo on github and check changes before sending them to the mail list.
+
The setup is really easy, all you need to do is:
   −
[https://travis-ci.org/xemul/criu.svg?branch=criu-dev]
+
* [https://travis-ci.org/auth Sign in] to Travis CI, using your github account.
 +
* Wait till Travis CI synchronizes your github repositories.
 +
* Check your [https://travis-ci.org/profile profile page] and enable Travis CI for your CRIU repo.
 +
* Create a new branch or push a new commit to github to trigger a build.
    
== Mr Jenkins ==
 
== Mr Jenkins ==
 
We use Jenkins to execute tests. It works only for the criu upstream repo and isn't available to users yet. If you visit [https://ci.openvz.org/view/CRIU/], you will find more than dozen jobs for different configurations. We try to test all criu features.
 
We use Jenkins to execute tests. It works only for the criu upstream repo and isn't available to users yet. If you visit [https://ci.openvz.org/view/CRIU/], you will find more than dozen jobs for different configurations. We try to test all criu features.
   −
Most part of jobs uses [ZDTM Test Suite]. There each test is a small program. Each job plays different scenarios with these tests:
+
Most part of jobs uses [[ZDTM Test Suite]]. There each test is a small program. Each job plays different scenarios with these tests:
 
* dump/restore
 
* dump/restore
 
* dump/restore a few times
 
* dump/restore a few times