diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2020-04-23 13:31:48 +0100 |
---|---|---|
committer | Daniel P. Berrangé <berrange@redhat.com> | 2020-05-22 12:22:00 +0100 |
commit | 27ea968c70dc91ecef9fc8d97815aa15607f990e (patch) | |
tree | 372d497ad40695c7813185b3d0dfe17c9a5a7ed8 /.gitlab-ci.yml | |
parent | 88d19fb2100aa207d6f2873ed3649e7a008decb1 (diff) |
gitlab: introduce CI jobs for building on multiple distros
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 167 |
1 files changed, 164 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6fd565e..d04c4a0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,61 @@ stages: - - containers - prebuild + - containers + - builds + +.container_job_template: &container_job_definition + image: docker:stable + stage: containers + services: + - docker:dind + before_script: + - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest" + - export COMMON_TAG="$CI_REGISTRY/virt-viewer/virt-viewer/ci-$NAME:latest" + - docker info + - docker login registry.gitlab.com -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" + script: + - docker pull "$TAG" || docker pull "$COMMON_TAG" || true + - docker build --cache-from "$TAG" --cache-from "$COMMON_TAG" --tag "$TAG" -f "ci/$NAME.Dockerfile" ci + - docker push "$TAG" + after_script: + - docker logout + +.git_build_job_template: &git_build_job_definition + image: $CI_REGISTRY_IMAGE/ci-$NAME:latest + stage: builds + before_script: + - export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)" + - export SCRATCH_DIR="/tmp/scratch" + - export VROOT="$SCRATCH_DIR/vroot" + - export LD_LIBRARY_PATH="$VROOT/lib" + - export PATH="$VROOT/bin:$PATH" + - export PKG_CONFIG_PATH="$VROOT/lib/pkgconfig" + - export TEST_MAINTAINER=1 + script: + - pushd "$PWD" + - mkdir -p "$SCRATCH_DIR" + - cd "$SCRATCH_DIR" + - git clone --depth 1 https://gitlab.com/libvirt/libvirt.git + - git clone --depth 1 https://gitlab.com/libvirt/libvirt-glib.git + - git clone --depth 1 https://gitlab.gnome.org/GNOME/gtk-vnc.git + - cd libvirt + - mkdir build + - cd build + - ../autogen.sh --prefix="$VROOT" --libdir="$VROOT/lib" --without-libvirtd + - $MAKE install + - cd ../../libvirt-glib + - mkdir build + - cd build + - ../autogen.sh --prefix="$VROOT" --libdir="$VROOT/lib" + - $MAKE install + - cd ../../gtk-vnc + - git submodule update --init + - meson build --prefix="$VROOT" --libdir="$VROOT/lib" + - $NINJA -C build install + - popd + - ./autogen.sh --prefix="$VROOT" + - $MAKE + - $MAKE install # Check that all commits are signed-off for the DCO. # Skip on "virt-viewer" namespace, since we only need to run @@ -15,7 +70,113 @@ check-dco: variables: - $CI_PROJECT_NAMESPACE == 'virt-viewer' -ctr-check-dco: +centos-7-container: + <<: *container_job_definition + variables: + NAME: centos-7 + +centos-8-container: + <<: *container_job_definition + variables: + NAME: centos-8 + +debian-9-container: + <<: *container_job_definition + variables: + NAME: debian-9 + +debian-10-container: + <<: *container_job_definition + variables: + NAME: debian-10 + +debian-sid-container: + <<: *container_job_definition + variables: + NAME: debian-sid + +fedora-31-container: + <<: *container_job_definition + variables: + NAME: fedora-31 + +fedora-32-container: + <<: *container_job_definition + variables: + NAME: fedora-32 + +fedora-rawhide-container: + <<: *container_job_definition + variables: + NAME: fedora-rawhide + +opensuse-151-container: <<: *container_job_definition variables: - NAME: check-dco + NAME: opensuse-151 + +ubuntu-1804-container: + <<: *container_job_definition + variables: + NAME: ubuntu-1804 + +ubuntu-2004-container: + <<: *container_job_definition + variables: + NAME: ubuntu-2004 + + +centos-7-git-build: + <<: *git_build_job_definition + variables: + NAME: centos-7 + +centos-8-git-build: + <<: *git_build_job_definition + variables: + NAME: centos-8 + +debian-9-git-build: + <<: *git_build_job_definition + variables: + NAME: debian-9 + +debian-10-git-build: + <<: *git_build_job_definition + variables: + NAME: debian-10 + +debian-sid-git-build: + <<: *git_build_job_definition + variables: + NAME: debian-sid + +fedora-31-git-build: + <<: *git_build_job_definition + variables: + NAME: fedora-31 + +fedora-32-git-build: + <<: *git_build_job_definition + variables: + NAME: fedora-32 + +fedora-rawhide-git-build: + <<: *git_build_job_definition + variables: + NAME: fedora-rawhide + +opensuse-151-git-build: + <<: *git_build_job_definition + variables: + NAME: opensuse-151 + +ubuntu-1804-git-build: + <<: *git_build_job_definition + variables: + NAME: ubuntu-1804 + +ubuntu-2004-git-build: + <<: *git_build_job_definition + variables: + NAME: ubuntu-2004 |