[libvirt-python PATCH 2/3] gitlab: introduce CI jobs testing git master & distro libvirt

Daniel P. Berrangé berrange at redhat.com
Wed Apr 29 13:36:59 UTC 2020


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.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 .gitlab-ci.yml                | 172 ++++++++++++++++++++++++++++++++++
 ci/libvirt-centos-7.dkr       |  85 +++++++++++++++++
 ci/libvirt-centos-8.dkr       |  64 +++++++++++++
 ci/libvirt-debian-10.dkr      |  55 +++++++++++
 ci/libvirt-debian-9.dkr       |  58 ++++++++++++
 ci/libvirt-debian-sid.dkr     |  55 +++++++++++
 ci/libvirt-fedora-30.dkr      |  52 ++++++++++
 ci/libvirt-fedora-31.dkr      |  52 ++++++++++
 ci/libvirt-fedora-rawhide.dkr |  53 +++++++++++
 ci/libvirt-opensuse-151.dkr   |  54 +++++++++++
 ci/libvirt-ubuntu-1604.dkr    |  58 ++++++++++++
 ci/libvirt-ubuntu-1804.dkr    |  58 ++++++++++++
 ci/refresh                    |  21 +++++
 13 files changed, 837 insertions(+)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 ci/libvirt-centos-7.dkr
 create mode 100644 ci/libvirt-centos-8.dkr
 create mode 100644 ci/libvirt-debian-10.dkr
 create mode 100644 ci/libvirt-debian-9.dkr
 create mode 100644 ci/libvirt-debian-sid.dkr
 create mode 100644 ci/libvirt-fedora-30.dkr
 create mode 100644 ci/libvirt-fedora-31.dkr
 create mode 100644 ci/libvirt-fedora-rawhide.dkr
 create mode 100644 ci/libvirt-opensuse-151.dkr
 create mode 100644 ci/libvirt-ubuntu-1604.dkr
 create mode 100644 ci/libvirt-ubuntu-1804.dkr
 create mode 100755 ci/refresh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..bfcd31c
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,172 @@
+
+stages:
+  - prebuild
+  - containers
+  - build
+  - docs
+
+.container_job_template: &container_job_definition
+  image: docker:stable
+  stage: containers
+  services:
+    - docker:dind
+  before_script:
+    - export TAG="${CI_REGISTRY_IMAGE}/buildenv-${NAME}:latest"
+    - export COMMON_TAG="${CI_REGISTRY}/libvirt/libvirt-perl/buildenv-${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}.dkr ci
+    - docker push ${TAG}
+  after_script:
+    - docker logout
+
+.build_git_job_template: &build_git_job_definition
+  stage: build
+  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="${PATH}:${VROOT}/bin"
+    - 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 src
+    - mkdir build
+    - cd build
+    - ../src/autogen.sh --prefix=${VROOT} --without-libvirtd
+    - make install
+    - popd
+    - ${PYTHON} setup.py build
+    - ${PYTHON} setup.py test
+
+.build_dist_job_template: &build_dist_job_definition
+  stage: build
+  before_script:
+    - export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)"
+    - export TEST_MAINTAINER=1
+  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'
+
+ctr-centos-7:
+  <<: *container_job_definition
+  variables:
+    NAME: centos-7
+
+ctr-centos-8:
+  <<: *container_job_definition
+  variables:
+    NAME: centos-8
+
+ctr-debian-9:
+  <<: *container_job_definition
+  variables:
+    NAME: debian-9
+
+ctr-debian-10:
+  <<: *container_job_definition
+  variables:
+    NAME: debian-10
+
+ctr-debian-sid:
+  <<: *container_job_definition
+  variables:
+    NAME: debian-sid
+
+ctr-fedora-30:
+  <<: *container_job_definition
+  variables:
+    NAME: fedora-30
+
+ctr-fedora-31:
+  <<: *container_job_definition
+  variables:
+    NAME: fedora-31
+
+ctr-fedora-rawhide:
+  <<: *container_job_definition
+  variables:
+    NAME: fedora-rawhide
+
+ctr-opensuse-151:
+  <<: *container_job_definition
+  variables:
+    NAME: opensuse-151
+
+ctr-ubuntu-1604:
+  <<: *container_job_definition
+  variables:
+    NAME: ubuntu-1604
+
+ctr-ubuntu-1804:
+  <<: *container_job_definition
+  variables:
+    NAME: ubuntu-1804
+
+
+build-git-centos-8:
+  <<: *build_git_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-centos-8:latest
+
+
+build-dist-centos-7:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-centos-7:latest
+
+build-dist-centos-8:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-centos-8:latest
+
+build-dist-debian-9:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-debian-9:latest
+
+build-dist-debian-10:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-debian-10:latest
+
+build-dist-debian-sid:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-debian-sid:latest
+
+build-dist-fedora-30:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-fedora-30:latest
+
+build-dist-fedora-31:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-fedora-31:latest
+
+build-dist-fedora-rawhide:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-fedora-rawhide:latest
+
+build-dist-opensuse-151:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-opensuse-151:latest
+
+build-dist-ubuntu-1604:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-ubuntu-1604:latest
+
+build-dist-ubuntu-1804:
+  <<: *build_dist_job_definition
+  image: ${CI_REGISTRY_IMAGE}/buildenv-ubuntu-1804:latest
diff --git a/ci/libvirt-centos-7.dkr b/ci/libvirt-centos-7.dkr
new file mode 100644
index 0000000..9ff638b
--- /dev/null
+++ b/ci/libvirt-centos-7.dkr
@@ -0,0 +1,85 @@
+FROM centos:7
+
+RUN echo -e '[openvz]\n\
+name=OpenVZ addons\n\
+baseurl=https://download.openvz.org/virtuozzo/releases/openvz-7.0.11-235/x86_64/os/\n\
+enabled=1\n\
+gpgcheck=1\n\
+skip_if_unavailable=0\n\
+metadata_expire=6h\n\
+priority=90\n\
+includepkgs=libprl*' > /etc/yum.repos.d/openvz.repo && \
+    echo -e '-----BEGIN PGP PUBLIC KEY BLOCK-----\n\
+Version: GnuPG v2.0.22 (GNU/Linux)\n\
+\n\
+mI0EVl80nQEEAKrEeyeTCwrzS9kYedZ/sAc/GUqlb81C7pA9SaR3fyck5mVw1Ogk\n\
+YdmNBPM2kY7QDxR9F0EpSpnxSCAXZXugsQ8KzZ0DRLVeBDQyGs9IGK5hI0zzxIil\n\
+BzfvIexLiQQhLy7YlIi8Jt/uUqKkW0pIMNMGcduY97VATtczpncpkmSzABEBAAG0\n\
+SFZpcnR1b3p6byBUZWFtIChHUEcga2V5IHNpZ25hdHVyZSBmb3IgcGFja2FnZXMp\n\
+IDxzZWN1cml0eUB2aXJ0dW96em8uY29tPoi5BBMBAgAjBQJWXzSdAhsDBwsJCAcD\n\
+AgEGFQgCCQoLBBYCAwECHgECF4AACgkQygt9GUTNrSruIgP/er70Eyo73A1gfrjv\n\
+oPUkyo4rslVRZu3qqCwoMFtJc/Z/UxWgEka1buorlcGLa6eO/EZ49c0n+KGa4Kvt\n\
+EUboIq0yEu5i0FyAj92ifm+hNhoAbGfm0cZ4/fD0oGr3l8OsQo4+iHX4xAPwFe7Y\n\
+zABuB8I1ZDZ4OIp5tDfTTuF2LT24jQRWXzSdAQQAog2Aqb+Ptl68O7cQhWLjVGkj\n\
+yyigZrdeReLx3HloKJPBeQ/kA6uvMJc/IYS3uppMWXv9v+QenS6uhP1TUJ2k9FvM\n\
+t94MQZfALN7Vpf8AF+UeWu4Ru+y4BNzcFhrPhIFNFChOR2QqW6FkgE57D9I177NC\n\
+oJMyrlNe8wcGa178An8AEQEAAYifBBgBAgAJBQJWXzSdAhsMAAoJEMoLfRlEza0q\n\
+bKwD/3+OFVIEXnIv5XgdGRNX5fHggsUN1bb8gva7HANRlKdd4LD8foDM3F/yv/3V\n\
+igG14D5EjKz56SaBDNgiI4++hOzb2M8jhAsR86jxkXFrrP1U3ZNRKg6av9DPFAPS\n\
+WEiJKtQrZDJloqtyi/mmRa1VsV7RYR0VPJjhK/R8EQ7Ysshy\n\
+=fRMg\n\
+-----END PGP PUBLIC KEY BLOCK-----' > /etc/pki/rpm-gpg/RPM-GPG-KEY-OpenVZ && \
+    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-OpenVZ && \
+    yum install -y epel-release && \
+    yum update -y && \
+    yum install -y \
+        autoconf \
+        automake \
+        bash \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        chrony \
+        gcc \
+        gdb \
+        gettext \
+        gettext-devel \
+        git \
+        glibc-common \
+        glibc-devel \
+        libtool \
+        libvirt-devel \
+        lsof \
+        make \
+        net-tools \
+        ninja-build \
+        patch \
+        perl \
+        pkgconfig \
+        python3 \
+        python3-pip \
+        python3-setuptools \
+        python36-devel \
+        python36-lxml \
+        python36-nose \
+        rpm-build \
+        screen \
+        strace \
+        sudo \
+        vim && \
+    yum autoremove -y && \
+    yum clean all -y && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+RUN pip3 install \
+         meson==0.49.0
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja-build"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-centos-8.dkr b/ci/libvirt-centos-8.dkr
new file mode 100644
index 0000000..bf3ec47
--- /dev/null
+++ b/ci/libvirt-centos-8.dkr
@@ -0,0 +1,64 @@
+FROM centos:8
+
+RUN dnf install 'dnf-command(config-manager)' -y && \
+    dnf config-manager --set-enabled PowerTools -y && \
+    dnf install -y epel-release && \
+    dnf update -y && \
+    dnf install -y \
+        autoconf \
+        automake \
+        bash \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        chrony \
+        gcc \
+        gdb \
+        gettext \
+        gettext-devel \
+        git \
+        glib2-devel \
+        glibc-devel \
+        glibc-langpack-en \
+        gnutls-devel \
+        libnl3-devel \
+        libpcap-devel \
+        libtirpc-devel \
+        libtool \
+        libvirt-devel \
+        libxml2 \
+        libxml2-devel \
+        libxslt \
+        lsof \
+        make \
+        meson \
+        net-tools \
+        ninja-build \
+        patch \
+        perl \
+        pkgconfig \
+        python3 \
+        python3-devel \
+        python3-docutils \
+        python3-lxml \
+        python3-nose \
+        python3-setuptools \
+        rpcgen \
+        rpm-build \
+        screen \
+        strace \
+        sudo \
+        vim && \
+    dnf autoremove -y && \
+    dnf clean all -y && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-debian-10.dkr b/ci/libvirt-debian-10.dkr
new file mode 100644
index 0000000..7d98dac
--- /dev/null
+++ b/ci/libvirt-debian-10.dkr
@@ -0,0 +1,55 @@
+FROM debian:10
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get dist-upgrade -y && \
+    apt-get install --no-install-recommends -y \
+            autoconf \
+            automake \
+            autopoint \
+            bash \
+            bash-completion \
+            ca-certificates \
+            ccache \
+            chrony \
+            gcc \
+            gdb \
+            gettext \
+            git \
+            libc6-dev \
+            libtool \
+            libtool-bin \
+            libvirt-dev \
+            locales \
+            lsof \
+            make \
+            meson \
+            net-tools \
+            ninja-build \
+            patch \
+            perl \
+            pkgconf \
+            python3 \
+            python3-dev \
+            python3-lxml \
+            python3-nose \
+            python3-setuptools \
+            screen \
+            strace \
+            sudo \
+            vim && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y && \
+    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+    dpkg-reconfigure locales && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-debian-9.dkr b/ci/libvirt-debian-9.dkr
new file mode 100644
index 0000000..1c565fa
--- /dev/null
+++ b/ci/libvirt-debian-9.dkr
@@ -0,0 +1,58 @@
+FROM debian:9
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get dist-upgrade -y && \
+    apt-get install --no-install-recommends -y \
+            autoconf \
+            automake \
+            autopoint \
+            bash \
+            bash-completion \
+            ca-certificates \
+            ccache \
+            chrony \
+            gcc \
+            gdb \
+            gettext \
+            git \
+            libc6-dev \
+            libtool \
+            libtool-bin \
+            libvirt-dev \
+            locales \
+            lsof \
+            make \
+            net-tools \
+            ninja-build \
+            patch \
+            perl \
+            pkgconf \
+            python3 \
+            python3-dev \
+            python3-lxml \
+            python3-nose \
+            python3-pip \
+            python3-setuptools \
+            screen \
+            strace \
+            sudo \
+            vim && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y && \
+    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+    dpkg-reconfigure locales && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+RUN pip3 install \
+         meson==0.49.0
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-debian-sid.dkr b/ci/libvirt-debian-sid.dkr
new file mode 100644
index 0000000..a9f0ee4
--- /dev/null
+++ b/ci/libvirt-debian-sid.dkr
@@ -0,0 +1,55 @@
+FROM debian:sid
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get dist-upgrade -y && \
+    apt-get install --no-install-recommends -y \
+            autoconf \
+            automake \
+            autopoint \
+            bash \
+            bash-completion \
+            ca-certificates \
+            ccache \
+            chrony \
+            gcc \
+            gdb \
+            gettext \
+            git \
+            libc6-dev \
+            libtool \
+            libtool-bin \
+            libvirt-dev \
+            locales \
+            lsof \
+            make \
+            meson \
+            net-tools \
+            ninja-build \
+            patch \
+            perl \
+            pkgconf \
+            python3 \
+            python3-dev \
+            python3-lxml \
+            python3-nose \
+            python3-setuptools \
+            screen \
+            strace \
+            sudo \
+            vim && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y && \
+    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+    dpkg-reconfigure locales && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-fedora-30.dkr b/ci/libvirt-fedora-30.dkr
new file mode 100644
index 0000000..63cd0f2
--- /dev/null
+++ b/ci/libvirt-fedora-30.dkr
@@ -0,0 +1,52 @@
+FROM fedora:30
+
+RUN dnf update -y && \
+    dnf install -y \
+        autoconf \
+        automake \
+        bash \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        chrony \
+        cppi \
+        gcc \
+        gdb \
+        gettext \
+        gettext-devel \
+        git \
+        glibc-devel \
+        glibc-langpack-en \
+        libtool \
+        libvirt-devel \
+        lsof \
+        make \
+        meson \
+        net-tools \
+        ninja-build \
+        patch \
+        perl \
+        pkgconfig \
+        python3 \
+        python3-devel \
+        python3-lxml \
+        python3-nose \
+        python3-setuptools \
+        rpm-build \
+        screen \
+        strace \
+        sudo \
+        vim && \
+    dnf autoremove -y && \
+    dnf clean all -y && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-fedora-31.dkr b/ci/libvirt-fedora-31.dkr
new file mode 100644
index 0000000..3307e5c
--- /dev/null
+++ b/ci/libvirt-fedora-31.dkr
@@ -0,0 +1,52 @@
+FROM fedora:31
+
+RUN dnf update -y && \
+    dnf install -y \
+        autoconf \
+        automake \
+        bash \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        chrony \
+        cppi \
+        gcc \
+        gdb \
+        gettext \
+        gettext-devel \
+        git \
+        glibc-devel \
+        glibc-langpack-en \
+        libtool \
+        libvirt-devel \
+        lsof \
+        make \
+        meson \
+        net-tools \
+        ninja-build \
+        patch \
+        perl \
+        pkgconfig \
+        python3 \
+        python3-devel \
+        python3-lxml \
+        python3-nose \
+        python3-setuptools \
+        rpm-build \
+        screen \
+        strace \
+        sudo \
+        vim && \
+    dnf autoremove -y && \
+    dnf clean all -y && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-fedora-rawhide.dkr b/ci/libvirt-fedora-rawhide.dkr
new file mode 100644
index 0000000..475c757
--- /dev/null
+++ b/ci/libvirt-fedora-rawhide.dkr
@@ -0,0 +1,53 @@
+FROM fedora:rawhide
+
+RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
+    dnf update -y && \
+    dnf install -y \
+        autoconf \
+        automake \
+        bash \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        chrony \
+        cppi \
+        gcc \
+        gdb \
+        gettext \
+        gettext-devel \
+        git \
+        glibc-devel \
+        glibc-langpack-en \
+        libtool \
+        libvirt-devel \
+        lsof \
+        make \
+        meson \
+        net-tools \
+        ninja-build \
+        patch \
+        perl \
+        pkgconfig \
+        python3 \
+        python3-devel \
+        python3-lxml \
+        python3-nose \
+        python3-setuptools \
+        rpm-build \
+        screen \
+        strace \
+        sudo \
+        vim && \
+    dnf autoremove -y && \
+    dnf clean all -y && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-opensuse-151.dkr b/ci/libvirt-opensuse-151.dkr
new file mode 100644
index 0000000..526aadf
--- /dev/null
+++ b/ci/libvirt-opensuse-151.dkr
@@ -0,0 +1,54 @@
+FROM opensuse/leap:15.1
+
+RUN zypper update -y && \
+    zypper install -y \
+        autoconf \
+        automake \
+        bash \
+        bash-completion \
+        ca-certificates \
+        ccache \
+        chrony \
+        cppi \
+        gcc \
+        gdb \
+        gettext \
+        gettext-devel \
+        git \
+        glibc-devel \
+        glibc-locale \
+        libtool \
+        libvirt-devel \
+        lsof \
+        make \
+        net-tools \
+        ninja \
+        patch \
+        perl \
+        pkgconfig \
+        python3 \
+        python3-devel \
+        python3-lxml \
+        python3-nose \
+        python3-pip \
+        python3-setuptools \
+        rpm-build \
+        screen \
+        strace \
+        sudo \
+        vim && \
+    zypper clean --all && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+RUN pip3 install \
+         meson==0.49.0
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-ubuntu-1604.dkr b/ci/libvirt-ubuntu-1604.dkr
new file mode 100644
index 0000000..9652cf7
--- /dev/null
+++ b/ci/libvirt-ubuntu-1604.dkr
@@ -0,0 +1,58 @@
+FROM ubuntu:16.04
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get dist-upgrade -y && \
+    apt-get install --no-install-recommends -y \
+            autoconf \
+            automake \
+            autopoint \
+            bash \
+            bash-completion \
+            ca-certificates \
+            ccache \
+            chrony \
+            gcc \
+            gdb \
+            gettext \
+            git \
+            libc6-dev \
+            libtool \
+            libtool-bin \
+            libvirt-dev \
+            locales \
+            lsof \
+            make \
+            net-tools \
+            ninja-build \
+            patch \
+            perl \
+            pkgconf \
+            python3 \
+            python3-dev \
+            python3-lxml \
+            python3-nose \
+            python3-pip \
+            python3-setuptools \
+            screen \
+            strace \
+            sudo \
+            vim && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y && \
+    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+    dpkg-reconfigure locales && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+RUN pip3 install \
+         meson==0.49.0
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/libvirt-ubuntu-1804.dkr b/ci/libvirt-ubuntu-1804.dkr
new file mode 100644
index 0000000..7ec35d8
--- /dev/null
+++ b/ci/libvirt-ubuntu-1804.dkr
@@ -0,0 +1,58 @@
+FROM ubuntu:18.04
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get dist-upgrade -y && \
+    apt-get install --no-install-recommends -y \
+            autoconf \
+            automake \
+            autopoint \
+            bash \
+            bash-completion \
+            ca-certificates \
+            ccache \
+            chrony \
+            gcc \
+            gdb \
+            gettext \
+            git \
+            libc6-dev \
+            libtool \
+            libtool-bin \
+            libvirt-dev \
+            locales \
+            lsof \
+            make \
+            net-tools \
+            ninja-build \
+            patch \
+            perl \
+            pkgconf \
+            python3 \
+            python3-dev \
+            python3-lxml \
+            python3-nose \
+            python3-pip \
+            python3-setuptools \
+            screen \
+            strace \
+            sudo \
+            vim && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y && \
+    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
+    dpkg-reconfigure locales && \
+    mkdir -p /usr/libexec/ccache-wrappers && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \
+    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
+
+RUN pip3 install \
+         meson==0.49.0
+
+ENV LANG "en_US.UTF-8"
+
+ENV MAKE "/usr/bin/make"
+ENV NINJA "/usr/bin/ninja"
+ENV PYTHON "/usr/bin/python3"
+
+ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
diff --git a/ci/refresh b/ci/refresh
new file mode 100755
index 0000000..2e7b3be
--- /dev/null
+++ b/ci/refresh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+if test -z "$1"
+then
+  echo "syntax: $0 PATH-TO-LCITOOL"
+  exit 1
+fi
+
+LCITOOL=$1
+
+HOSTS=$(${LCITOOL} hosts | grep -v freebsd)
+
+for host in ${HOSTS}
+do
+    if test "$host" == "libvirt-centos-8"
+    then
+	${LCITOOL} dockerfile $host libvirt-minimal,libvirt-dist,libvirt-python > $host.dkr
+    else
+	${LCITOOL} dockerfile $host libvirt-dist,libvirt-python > $host.dkr
+    fi
+done
-- 
2.25.4




More information about the libvir-list mailing list