[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] ci: use GitLab CI to build
commit 822d388db3f047247176cc2bceb35c184a1f366d Author: Doug Goldstein <cardoe@xxxxxxxxxx> AuthorDate: Sun Mar 11 00:08:50 2018 -0600 Commit: Wei Liu <wei.liu2@xxxxxxxxxx> CommitDate: Thu Mar 22 09:04:23 2018 +0000 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@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- .gitlab-ci.yml | 154 +++++++++++++++++++++++++++++++++++++++++++++++ automation/scripts/build | 31 ++++++++++ 2 files changed, 185 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000..682e48ef51 --- /dev/null +++ b/.gitlab-ci.yml @@ -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 diff --git a/automation/scripts/build b/automation/scripts/build new file mode 100755 index 0000000000..b90fc43d26 --- /dev/null +++ b/automation/scripts/build @@ -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 -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |