Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upRun all tests on real hardware (without any qemu emulation anymore) #834
Conversation
This comment has been minimized.
This comment has been minimized.
|
Something went wrong with my branches. Need to rebase. |
This comment has been minimized.
This comment has been minimized.
|
The ppc64le build timed out. I thought I was able to restart builds in Travis, but the button to restart the build is gone. |
This comment has been minimized.
This comment has been minimized.
|
The ppc64le job without CLANG takes 50 minutes and the ppc64le job with CLANG takes only 20 minutes. As 50 minutes is the maximum Travis runtime for a test we seem to hit this more often. It is interesting that the same test requires less than half the time with CLANG=1. |
This comment has been minimized.
This comment has been minimized.
|
And now there is also support for ppc64le and s390 from Travis: https://blog.travis-ci.com/2019-11-12-multi-cpu-architecture-ibm-power-ibm-z Now we can drop emulation for all arches. |
In my previous commit I copied a line with a return into the main script body. bash can only return from functions. This changes return to exit. Signed-off-by: Adrian Reber <areber@redhat.com>
Travis uses unprivileged containers for aarch64 in LXD. Docker with '--privileged' fails in such situation. This changes the travis setup to only start docker with '--privileged' if running on x86_64. Signed-off-by: Adrian Reber <areber@redhat.com>
This comment has been minimized.
This comment has been minimized.
|
I tried the s390x and ppc64le support here: https://travis-ci.org/adrianreber/criu/builds/611253563 s390x test times are done from 18 minutes to 41 seconds. ppc64le from 20 minutes (sometime 50 minutes) to less than 2 minutes. |
This comment has been minimized.
This comment has been minimized.
|
Restarting the ppc64le test. Time out after 50 minutes. |
This comment has been minimized.
This comment has been minimized.
That's very promising, would you send patches/PR? |
This comment has been minimized.
This comment has been minimized.
I don't think it's a problem with this PR - I have added include |
This comment has been minimized.
This comment has been minimized.
Patches are ready and I will open a new PR as soon as this one is merged. |
For CRIU's compile only tests for armv7hf on Travis we are using 'setarch linux32' which returns armv8l on Travis aarch64. This adds a path in the Makefile to treat armv8l just as armv7hf during compile. This enables us to run armv7hf compile tests on Travis aarch64 hardware. Much faster. Maybe not entirely correct, but probably good enough for compile testing in an armv7hf container. Signed-off-by: Adrian Reber <areber@redhat.com>
This switches all arm related tests (32bit and 64bit) to the aarch64 systems Travis provides. For arm32 we are running in a armv7hf container on aarch64 with 'setarch linux32'. The main changes are that docker on Travis aarch64 cannot use '--privileged' as Travis is using unprivileged LXD containers to setup the testing environment. Signed-off-by: Adrian Reber <areber@redhat.com>
Now that Travis also supports ppc64le and s390x we can remove all qemu based docker emulation from our test setup. This now runs ppc64le and s390x tests on real hardware (LXD containers). Signed-off-by: Adrian Reber <areber@redhat.com>
Tests are successful even after removing 'group:' from .travis.yml. Apparently it is not necessary. Signed-off-by: Adrian Reber <areber@redhat.com>
This comment has been minimized.
This comment has been minimized.
|
I included the ppc64le and s390x changes also in this PR. |
This comment has been minimized.
This comment has been minimized.
|
@alicefr : just as an FYI, the s390x test case is now running on real hardware, without qemu emulation. (as discussed previously) |
This comment has been minimized.
This comment has been minimized.
|
@adrianreber thanks! Great news :) |
428a21d
into
checkpoint-restore:criu-dev

adrianreber commentedNov 4, 2019
This changes the rawhide-aarch64 build and the armv7hf to use Travis aarch64 hardware.
This PR required a few more changes. Docker container can no longer run with --privileged as it is running in an unprivileged LXD container.
The Travis aarch64 system has uname of armv8l when running under
setarch linux32. To enable arm32 builds I added armv8l detection to the Makefile. If it is an armv8l system CRIU will be built just as for an armv7hf system. Not verified that the output binary actually works. Only used for compilation tests.