Commit graph

39 commits

Author SHA1 Message Date
Andrei Vagin
35e8a3446f travis: build criu and run tests on centos
It is one of our target platforms.

Cc: Adrian Reber <areber@redhat.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Acked-by: Adrian Reber <areber@redhat.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-05-15 03:05:15 +03:00
Andrei Vagin
d47a7938c4 travis: don't fail a build due to the GCOV job
It fails too often due to installing gcc-7.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-06 02:56:26 +03:00
Andrei Vagin
44dadb9a56 [v2] criu: add -fprofile-update=atomic for builds with gcov
Sometimes we see errors like this:
criu/cr-restore.gcda:Merge mismatch for function 106

It proabably means that this gcda file was corrupted. According to the
gcc man page, the -fprofile-update=atomic should fix this problem.

v2: this options appered in gcc7, so we need to install it.

Reported-by: Mr Travis CI
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-03-10 01:15:23 +03:00
Andrei Vagin
6a3878e529 travis: don't fail a build when the s390 job failed
Builds for s390x fail due to a qemu bug.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-02-02 10:19:36 +03:00
Andrei Vagin
59770d4f8b phaul: run the phaul test in a docker container
golang from the Ubuntu Trusty is too old.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-11-30 01:36:15 +03:00
Mike Rapoport
71b5fe5f5b Revert "travis: temporarily disable ppc64 until repo is fixed"
This reverts commit 26680a8b6901f312163ed19263c2a580ec927f68.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-11-30 01:34:50 +03:00
Pavel Emelyanov
cb4f5d1954 travis: temporarily disable ppc64 until repo is fixed
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2017-11-30 01:34:50 +03:00
Andrei Vagin
15b29140a8 travis: check compilation for arm64v8/fedora:rawhide
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-10-22 06:36:12 +03:00
Andrei Vagin
2d093a1702 travis: add a job to test on the fedora rawhide
This job is optional and it don't affect the status of a whole job.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-10-17 08:40:44 +03:00
Kirill Kolyshkin
d723061b53 CI x86_64: switch to Zesty, add clang build
The x86_64 job is the one we run inside Docker (as opposed to 'local',
which runs on the host). Let's update this to use Ubuntu Zesty, and
since it has clang-4 (unlike the 'local' one) it makes sense to add
a clang build.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-10-17 08:40:10 +03:00
Andrei Vagin
c1e68a947e travis: check docker checkpoint
Install the last version of Docker, start a container and C/R it a few times.
2017-10-05 21:04:21 +03:00
Michael Holzheu
602a948ddd s390: Enable travis
We have to use "debian.jessie" instead of "ubuntu.xenial" because
qemu-s390x-static can only run z900 instructions and Ubuntu is
built with a more recent architecture level set.

We first enable only gcc because there are still some issues with clang.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-08-09 18:51:41 +03:00
Andrei Vagin
81776f856a travis: roll-back to the old Trusty image
https://github.com/xemul/criu/issues/324
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-06-27 22:18:50 +03:00
Andrei Vagin
70ac7a10cd travis: run tests with asan
v2: Use the devicemapper storage driver for docker containers to
run more tests. AUFS doesn't support file handles, so a few tests
(e.g. inotify00 can't be run).

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-04-11 09:00:49 +03:00
Kir Kolyshkin
29f9e6e2f1 travis: enable ccache for local builds
For now, it's done for local builds only (i.e. no per-arch Docker
builds yet). The reason is, it's easier to play with ccache when
the compiles are (relatively) fast.

Performance: there is 2x to 3x improvement in build speeds for
ideal cases (same code, hot cache), but the absolute savings
are negligible (example: 7 seconds instead of 23).

Note that ccache is not compatible with gcov, so we only enable it
for non-gcov build (which happens to be the one with clang).

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-04-02 18:09:34 +03:00
Andrei Vagin
0ecd9c2b28 travis: execute tests on Alpine
"zdtm.py run -a" doesn't work on Alpine:
find: unrecognized: -executable

So run zdtm/static/env00 for now to be sure that
it is not broken at all.

travis-ci: success for travis: execute tests on Alpine
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2017-03-02 00:19:03 +03:00
Kir Kolyshkin
26ccb06a74 travis: enable arm/arm64/ppc builds with clang
With the recent patches, criu is finally compileable with
clang for all architectures. To keep it that way, we need
Travis to test that on a regular basis.

The downside is, Travis build time is increased about 2x.

travis-ci: success for travis: enable arm/arm64/ppc builds with clang
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-12-05 11:49:19 +03:00
Kir Kolyshkin
0be53ee10b travis.yml: fix GCOV setting
1. GCOV=0 is wrong, it should be left unset (or set to empty value)
2. GCOV=1 only makes sense for TR_ARCH=local, others are not using it

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-11-02 20:35:56 +03:00
Kir Kolyshkin
5992d7198b CI: add clang build for travis-ci
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-10-24 16:00:15 +03:00
Kir Kolyshkin
5465179f96 CI: move GCOV flag to travis.yml
Move GCOV to travis environment, so now we can change it easily
on a per-build basis.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-10-24 16:00:15 +03:00
Kir Kolyshkin
2f2fc08202 CI: move travis' after_success to a script
It is easier to handle it this way

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-10-24 16:00:15 +03:00
Dmitry Safonov
043fd0ee6c travis: turn on alpine build
Cc: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Acked-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-09-06 19:00:21 +03:00
Andrew Vagin
9c46e087ef travis: build tests in a separate job
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-08-01 16:51:05 +03:00
Dmitry Safonov
a2de3eb831 travis: add coveralls.io support
I suggest to add support for coveralls.io.
It can't show all coverage, as we don't run all tests on travis,
but still everyone who forked CRIU can see instant coverage of
his Travis build. As a nice feature, it will show code cover
increasing/decreasing just after you push a commit - which
could give you a nice hint about content of a new tests.
For this feature, we need to build CRIU with `make GCOV=1`,
which adds --coverage and disables optimizations.

The resulting report looks like this:
https://coveralls.io/builds/6439346
I was thinking about codecov.io also, but it has fewer community,
less fixed issues on github - so I choose this service.

Just a random fun fact:
file-ids.c covered completely on tests, except -ENOMEM return.
Maybe it worth to run fault injections tests on Travis.

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-28 13:09:39 +03:00
Andrew Vagin
851290bfa1 travis: enable compilation for ppc64le
qemu-static from ubuntu/xenial contains a required fix
and now we can execute compilation for ppc64le in travis.

v2: rebase on criu-dev
v3: set QEMU_CPU=POWER8 to avoid segfaults of qemu-ppc64le-static

> > By default, both qemu and gcc5 produce code on ppc64el which will run on
> > POWER7 platform.  However, in debian gcc build instruction, gcc is explicitly
> > built to produce code for POWER8 platform, which, obviously has additional
> > instructions.

v4: use ubuntu:trusty. xenial and wily has a bug:
Processing triggers for libc-bin (2.21-0ubuntu4.1) ...
/sbin/ldconfig.real: 5: /sbin/ldconfig.real: Syntax error: ")" unexpected
/sbin/ldconfig.real: 5: /sbin/ldconfig.real: Syntax error: ")" unexpected

v5: arm, x86, aarch64 were removed by mistake

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-06 14:38:29 +03:00
Andrew Vagin
5594f14cc7 travis: execute tests from travis
We can't execute userns tests, because a kernel is too old there.

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-24 13:17:44 +03:00
Andrew Vagin
2d382cc7cd travis: execute build actions on the "script" step
Otherwise a default actions for this step will be executed:

$ ./configure && make && make test
/home/travis/build.sh: line 45: ./configure: No such file or directory

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-24 13:13:21 +03:00
Andrey Vagin
f400efb2b2 travis: use docker to build criu (v2)
v2: create a separate job for each arch
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-20 19:17:24 +03:00
Tycho Andersen
6c5bde3b5b travis: run tests on trusty instead of precise
precise's libc headers are extremly old and don't define SYS_*. trusty's
do, so let's run the travis tests there.

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-20 19:17:16 +03:00
Cyrill Gorcunov
f7bc840091 build: Fix travis arch
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-17 13:26:39 +03:00
Andrew Vagin
46cf4edb60 travis: install libnl-3-dev
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-08 20:21:37 +03:00
Andrey Vagin
842a196159 travis: add libcap-dev
It's required for zdtm/live/static/different_creds

cc -g -O2 -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0  -iquote ../../lib/arch/x86/include -I../../lib  -c -o different_creds.o different_creds.c
different_creds.c:7:28: fatal error: sys/capability.h: No such file or directory

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-07-23 15:12:50 +03:00
Pavel Emelyanov
96e0d14283 Revert "travis: install libseccomp-dev"
This reverts commit 063c5b8946.
2015-07-14 18:28:05 +03:00
Andrey Vagin
063c5b8946 travis: install libseccomp-dev
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-07-14 14:00:57 +03:00
Ruslan Kuprieiev
29673d42a9 travis: add python-ipaddr as a dep
Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-02-09 14:07:07 +03:00
Ruslan Kuprieiev
85089ed359 travis: add protobuf-compiler
Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-01-22 18:58:38 +03:00
Ruslan Kuprieiev
a1f626d4ac travis: add libprotobuf-dev
Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-01-20 16:54:02 +03:00
Andrey Vagin
4836e39256 .travis.yml: add libaio-dev
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-12-30 15:36:27 +03:00
Andrey Vagin
3bc0936ae7 criu: add .travis.yml (v3)
Travis CI is configured by adding a file named .travis.yml, which is a
YAML format text file, to the root directory of the GitHub
repository.[5]

Travis CI automatically detects when a commit has been made and pushed
to a GitHub repository that is using Travis CI, and each time this
happens, it will try to build the project and run tests.
""" https://en.wikipedia.org/wiki/Travis_CI

Currently Travis CI builds criu for x86_64 and ARM

v2: move travis-ci.sh in scripts
v3: fix path to the script in the script
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-09-30 21:51:16 +04:00