mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
ci: use GitLab CI to build
Added a GitLab CI config which has a lot more flexibility to allow us to test a lot more distro configurations than Travis can and even build test on FreeBSD. This includes a modified copy of scripts/travis-build that is expected to diverge future over time as we build more than what Travis is currently building. Signed-off-by: Doug Goldstein <cardoe@cardoe.com> Acked-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
1feb202268
commit
822d388db3
2 files changed
+185
No files matched your search
+154
@@ -0,0 +1,154 @@
|
||||
stages:
|
||||
- build
|
||||
|
||||
.build-tmpl: &build
|
||||
stage: build
|
||||
image: registry.gitlab.com/xen-project/xen/${CONTAINER}
|
||||
script:
|
||||
- ./automation/scripts/build 2>&1 | tee build.log
|
||||
artifacts:
|
||||
paths:
|
||||
- xen/.config
|
||||
- '*.log'
|
||||
when: always
|
||||
|
||||
.gcc-tmpl:
|
||||
variabes: &gcc
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
|
||||
.clang-tmpl:
|
||||
variables: &clang
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
clang: y
|
||||
|
||||
centos-7-2-gcc:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: centos:7.2
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
centos-7-2-gcc-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: centos:7.2
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-jessie-clang:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *clang
|
||||
CONTAINER: debian:jessie
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-jessie-clang-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *clang
|
||||
CONTAINER: debian:jessie
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-jessie-gcc:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: debian:jessie
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-jessie-gcc-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: debian:jessie
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-stretch-clang:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *clang
|
||||
CONTAINER: debian:stretch
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-stretch-clang-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *clang
|
||||
CONTAINER: debian:stretch
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-stretch-gcc:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: debian:stretch
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
debian-stretch-gcc-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: debian:stretch
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
# Ubuntu Trusty's Clang is 3.4 while Xen requires 3.5
|
||||
|
||||
ubuntu-trusty-gcc:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: ubuntu:trusty
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
ubuntu-trusty-gcc-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: ubuntu:trusty
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
ubuntu-xenial-clang:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *clang
|
||||
CONTAINER: ubuntu:xenial
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
ubuntu-xenial-clang-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *clang
|
||||
CONTAINER: ubuntu:xenial
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
ubuntu-xenial-gcc:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: ubuntu:xenial
|
||||
debug: n
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
|
||||
ubuntu-xenial-gcc-debug:
|
||||
<<: *build
|
||||
variables:
|
||||
<<: *gcc
|
||||
CONTAINER: ubuntu:xenial
|
||||
debug: y
|
||||
XEN_TARGET_ARCH: x86_64
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
$CC --version
|
||||
|
||||
# random config or default config
|
||||
if [[ "${RANDCONFIG}" == "y" ]]; then
|
||||
make -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
|
||||
else
|
||||
make -C xen defconfig
|
||||
fi
|
||||
|
||||
# build up our configure options
|
||||
cfgargs=()
|
||||
cfgargs+=("--disable-stubdom") # more work needed into building this
|
||||
cfgargs+=("--disable-rombios")
|
||||
cfgargs+=("--enable-docs")
|
||||
|
||||
# SeaBIOS cannot be built with clang
|
||||
if [[ "${CC}" == "clang" ]]; then
|
||||
cfgargs+=("--with-system-seabios=/usr/share/seabios/bios.bin")
|
||||
fi
|
||||
|
||||
if [[ "${XEN_TARGET_ARCH}" == "x86_64" ]]; then
|
||||
cfgargs+=("--enable-tools")
|
||||
else
|
||||
cfgargs+=("--disable-tools") # we don't have the cross depends installed
|
||||
fi
|
||||
|
||||
./configure "${cfgargs[@]}"
|
||||
|
||||
make dist
|
||||