mirror of
https://gitlab.com/libvirt/libvirt-python.git
synced 2024-10-26 07:55:06 +03:00
76a8346643
The python build needs to validate two axis - A variety of libvirt versions - A variety of python versions We get coverage for both these axis by running a build against the distro provided libvirt packages. All that is then missing is a build against the latest libvirt git master, which only needs to be run on a single distro, for which CentOS 8 is picked as a stable long life base. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
186 lines
4.0 KiB
YAML
186 lines
4.0 KiB
YAML
|
|
stages:
|
|
- prebuild
|
|
- containers
|
|
- builds
|
|
- docs
|
|
|
|
.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/libvirt/libvirt-perl/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/libvirt-$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"
|
|
script:
|
|
- pushd "$PWD"
|
|
- mkdir -p "$SCRATCH_DIR"
|
|
- cd "$SCRATCH_DIR"
|
|
- git clone --depth 1 https://gitlab.com/libvirt/libvirt.git
|
|
- mkdir libvirt/build
|
|
- cd libvirt/build
|
|
- ../autogen.sh --prefix="$VROOT" --without-libvirtd
|
|
- $MAKE install
|
|
- popd
|
|
- $PYTHON setup.py build
|
|
- $PYTHON setup.py test
|
|
|
|
.dist_build_job_template: &dist_build_job_definition
|
|
image: $CI_REGISTRY_IMAGE/ci-$NAME:latest
|
|
stage: builds
|
|
before_script:
|
|
- export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
|
|
script:
|
|
- $PYTHON setup.py build
|
|
- $PYTHON setup.py test
|
|
|
|
# Check that all commits are signed-off for the DCO.
|
|
# Skip on "libvirt" namespace, since we only need to run
|
|
# this test on developer's personal forks from which
|
|
# merge requests are submitted
|
|
check-dco:
|
|
stage: prebuild
|
|
image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
|
|
script:
|
|
- /check-dco
|
|
except:
|
|
variables:
|
|
- $CI_PROJECT_NAMESPACE == 'libvirt'
|
|
|
|
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: opensuse-151
|
|
|
|
ubuntu-1804-container:
|
|
<<: *container_job_definition
|
|
variables:
|
|
NAME: ubuntu-1804
|
|
|
|
ubuntu-2004-container:
|
|
<<: *container_job_definition
|
|
variables:
|
|
NAME: ubuntu-2004
|
|
|
|
|
|
centos-8-git-build:
|
|
<<: *git_build_job_definition
|
|
variables:
|
|
NAME: centos-8
|
|
|
|
|
|
centos-7-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: centos-7
|
|
|
|
centos-8-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: centos-8
|
|
|
|
debian-9-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: debian-9
|
|
|
|
debian-10-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: debian-10
|
|
|
|
debian-sid-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: debian-sid
|
|
|
|
fedora-31-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: fedora-31
|
|
|
|
fedora-32-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: fedora-32
|
|
|
|
fedora-rawhide-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: fedora-rawhide
|
|
|
|
opensuse-151-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: opensuse-151
|
|
|
|
ubuntu-1804-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: ubuntu-1804
|
|
|
|
ubuntu-2004-dist-build:
|
|
<<: *dist_build_job_definition
|
|
variables:
|
|
NAME: ubuntu-2004
|