[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 0/8] Using GitLab CI for build testing
Really early work on switching over to using GitLab CI over Travis CI. GitLab is a competitor to GitHub with some advantages such as an integrated CI system with a lot more flexibility and control. It additionally is fully open sourced unlike GitHub and Travis CI. We can even run an instance if that is preferred over using the hosted instance. This change uses GitLab CI's ability to use Docker based runners for running tests. With GitHub we also use a Docker based runner but we are limited to one Docker container that is then morphed a number of different ways. With this approach we can specify different Docker containers for every run (or use the same). By using different Docker containers we can build environments that match systems where Xen can and should build. Using this approach we should be able to cutdown on the number of surpise build failures encountered by users. Worth noting another advantage is that builders can be VMs or even physical hosts as well. So we can have a FreeBSD VM that can be a build environment. Further more the above link is to a GitLab pipeline, pipelines are made of stages which are further composed of jobs. Currently the example uses one stage called build and all the different distros are different jobs. But there's a lot of flexibility as to what can be done here. There can be stages that check code style or other pre-flight checks that people may be interested. There can be stages that happen after the build stage as well such as some simple tests (e.g. I use it to run the just built xen.gz with an initramfs only dom0 that contains a small Alpine Linux VM that spits out a string to an HTTP endpoint which decides that Xen build is good enough to allow it to be merged into our testing branch). Overall there are a lot more possibilities than what I've put together so far. The coverage is not yet the same as Travis CI due to missing arm builds. --- change since v2: - lots of cleanups to CI config suggested by John Thomson <git@xxxxxxxxxxxxxxxxxxxxxxxxxxx> - build qemu-trad - build SeaBIOS unless we're using clang change since v1: - added makefile to help build containers - moved readme as the first patch - moved from "cardoe" tenant to "xen-project" - added debian:stretch - added clang builds - added debug y/n builds - added maintainer info Run without caching: https://gitlab.com/cardoe/xen/pipelines/19216673 Run with caching: https://gitlab.com/cardoe/xen/pipelines/19229723 Note: The failures under Ubuntu are due to https://lists.xenproject.org/archives/html/xen-devel/2018-03/msg02152.html Doug Goldstein (8): ci: add README and makefile for containers ci: add Dockerfile for CentOS 7.2 ci: add Dockerfile for Ubuntu 14.04 ci: add Dockerfile for Ubuntu 16.04 ci: add Dockerfile for Debian jessie ci: add Dockerfile for Debian stretch ci: use GitLab CI to build ci: add new bits to MAINTAINERS combine with Travis .gitlab-ci.yml | 171 ++++++++++++++++++++++- MAINTAINERS | 16 +- automation/build/Makefile | 17 ++- automation/build/README.md | 34 ++++- automation/build/centos/7.2.dockerfile | 42 +++++- automation/build/centos/CentOS-7.2.repo | 35 +++++- automation/build/debian/jessie.dockerfile | 47 ++++++- automation/build/debian/stretch.dockerfile | 47 ++++++- automation/build/ubuntu/trusty.dockerfile | 47 ++++++- automation/build/ubuntu/xenial.dockerfile | 47 ++++++- automation/scripts/build | 31 ++++- 12 files changed, 579 insertions(+), 6 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 automation/build/Makefile create mode 100644 automation/build/README.md create mode 100644 automation/build/centos/7.2.dockerfile create mode 100644 automation/build/centos/CentOS-7.2.repo create mode 100644 automation/build/debian/jessie.dockerfile create mode 100644 automation/build/debian/stretch.dockerfile create mode 100644 automation/build/ubuntu/trusty.dockerfile create mode 100644 automation/build/ubuntu/xenial.dockerfile create mode 100755 automation/scripts/build base-commit: 18596903e9f1362826b71f69008e5c839cc756b5 -- git-series 0.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |