diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2021-09-03 17:04:27 +0100 |
---|---|---|
committer | Daniel P. Berrangé <berrange@redhat.com> | 2021-09-03 17:21:56 +0100 |
commit | 8e25d1688255d0d6a1be51e5f988b7691f993c79 (patch) | |
tree | 4b6acfc54249d60b1bc8b6d9044872af633e94b5 | |
parent | 8e025957c8d0fe99535e9a6f62e34c4302a52d0c (diff) | |
download | libosinfo-8e25d1688255d0d6a1be51e5f988b7691f993c79.tar.gz |
ci: re-generate containers/gitlab config from manifest
This uses the command "lcitool manifest ci/manifest.yml" to re-generate
all existing dockerfiles and gitlab CI config.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
-rw-r--r-- | .gitlab-ci.yml | 257 | ||||
-rw-r--r-- | ci/containers/centos-8.Dockerfile (renamed from ci/containers/ci-centos-8.Dockerfile) | 12 | ||||
-rw-r--r-- | ci/containers/centos-stream-8.Dockerfile (renamed from ci/containers/ci-centos-stream.Dockerfile) | 7 | ||||
-rw-r--r-- | ci/containers/debian-10.Dockerfile (renamed from ci/containers/ci-debian-10.Dockerfile) | 12 | ||||
-rw-r--r-- | ci/containers/debian-sid.Dockerfile (renamed from ci/containers/ci-debian-sid.Dockerfile) | 10 | ||||
-rw-r--r-- | ci/containers/fedora-33.Dockerfile (renamed from ci/containers/ci-fedora-33.Dockerfile) | 10 | ||||
-rw-r--r-- | ci/containers/fedora-34.Dockerfile (renamed from ci/containers/ci-fedora-32.Dockerfile) | 12 | ||||
-rw-r--r-- | ci/containers/fedora-rawhide-cross-mingw32.Dockerfile (renamed from ci/containers/ci-fedora-rawhide-cross-mingw32.Dockerfile) | 33 | ||||
-rw-r--r-- | ci/containers/fedora-rawhide-cross-mingw64.Dockerfile (renamed from ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile) | 33 | ||||
-rw-r--r-- | ci/containers/fedora-rawhide.Dockerfile (renamed from ci/containers/ci-fedora-rawhide.Dockerfile) | 14 | ||||
-rw-r--r-- | ci/containers/opensuse-leap-152.Dockerfile (renamed from ci/containers/ci-opensuse-151.Dockerfile) | 18 | ||||
-rw-r--r-- | ci/containers/opensuse-tumbleweed.Dockerfile | 51 | ||||
-rw-r--r-- | ci/containers/ubuntu-1804.Dockerfile (renamed from ci/containers/ci-ubuntu-1804.Dockerfile) | 12 | ||||
-rw-r--r-- | ci/containers/ubuntu-2004.Dockerfile (renamed from ci/containers/ci-ubuntu-2004.Dockerfile) | 12 | ||||
-rw-r--r-- | ci/gitlab.yml | 272 |
15 files changed, 462 insertions, 303 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 71cb9eb..2ec72c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,7 @@ stages: - - prebuild - containers - builds + - sanity_checks .multilib: &multilib | dpkg_architecture=$(which dpkg-architecture 2>/dev/null || true) @@ -31,81 +31,8 @@ stages: export VIRT_PREFIX="$VIRT_PREFIX/$ABI/sys-root/mingw" export PKG_CONFIG_PATH="$VIRT_PREFIX/lib/pkgconfig" -.container_job_template: &container_job_definition - image: docker:stable - stage: containers - services: - - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master - alias: docker - before_script: - - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest" - - export COMMON_TAG="$CI_REGISTRY/libosinfo/libosinfo/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/containers/ci-$NAME.Dockerfile" ci - - docker push "$TAG" - after_script: - - docker logout - -.osinfo-db-tools-build: &osinfo-db-tools-build | - pushd /tmp/ - git clone https://gitlab.com/libosinfo/osinfo-db-tools.git - cd osinfo-db-tools - mkdir build - cd build - meson .. . --prefix=$VIRT_PREFIX --werror - $NINJA install - popd - -.osinfo-db-build: &osinfo-db-build | - pushd /tmp/ - git clone https://gitlab.com/libosinfo/osinfo-db.git - cd osinfo-db - mkdir build - cd build - $MAKE -f ../Makefile VPATH=.. - $MAKE -f ../Makefile VPATH=.. check - $MAKE -f ../Makefile VPATH=.. install OSINFO_DB_TARGET="--system" - popd - -.libosinfo-build: &libosinfo-build | - pushd . - mkdir build - cd build - meson .. . --prefix=$VIRT_PREFIX --werror - $NINJA - $NINJA install - popd - -.libosinfo-check: &libosinfo-check | - pushd . - cd build - $NINJA test - popd - -.libosinfo-rpm: &libosinfo-rpm | - pushd . - cd build - $NINJA dist - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip"; then - rpmbuild --nodeps -ta meson-dist/*.tar.xz - fi - popd - -.libosinfo-mingw-build: &libosinfo-mingw-build | - pushd . - mkdir build - cd build - meson .. . $MESON_OPTS --prefix=$VIRT_PREFIX -Denable-gtk-doc=false -Denable-tests=false -Denable-introspection=disabled -Denable-vala=disabled --werror - $NINJA - $NINJA install - popd - -.native-build-job: &native-build-job - stage: builds - image: $CI_REGISTRY_IMAGE/ci-$NAME:latest +.native_build_job: + extends: .gitlab_native_build_job cache: paths: - ccache @@ -113,15 +40,29 @@ stages: script: - *multilib - *native-environment - - *osinfo-db-tools-build - - *osinfo-db-build - - *libosinfo-build - - *libosinfo-check - - *libosinfo-rpm - -.mingw-build-job: &mingw-build-job - stage: builds - image: $CI_REGISTRY_IMAGE/ci-$NAME:latest + - pushd /tmp/ + - git clone https://gitlab.com/libosinfo/osinfo-db.git + - cd osinfo-db + - mkdir build + - cd build + - $MAKE -f ../Makefile VPATH=.. + - $MAKE -f ../Makefile VPATH=.. check + - $MAKE -f ../Makefile VPATH=.. install OSINFO_DB_TARGET="--system" + - popd + - mkdir build + - cd build + - meson .. . --prefix=$VIRT_PREFIX --werror + - $NINJA + - $NINJA install + - $NINJA test + - $NINJA dist + - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip"; + then + rpmbuild --nodeps -ta meson-dist/*.tar.xz; + fi + +.cross_build_job: + extends: .gitlab_cross_build_job cache: paths: - ccache @@ -129,145 +70,11 @@ stages: script: - *multilib - *native-environment - - *osinfo-db-build - *mingw-environment - - *libosinfo-mingw-build - -# Check that all commits are signed-off for the DCO. -# Skip on "libosinfo" 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 libosinfo - except: - variables: - - $CI_PROJECT_NAMESPACE == "libosinfo" - - -centos-8-container: - <<: *container_job_definition - variables: - NAME: centos-8 - -centos-stream-container: - <<: *container_job_definition - variables: - NAME: centos-stream - -debian-10-container: - <<: *container_job_definition - variables: - NAME: debian-10 - -debian-sid-container: - <<: *container_job_definition - variables: - NAME: debian-sid - -fedora-32-container: - <<: *container_job_definition - variables: - NAME: fedora-32 - -fedora-33-container: - <<: *container_job_definition - variables: - NAME: fedora-33 - -fedora-rawhide-container: - <<: *container_job_definition - variables: - NAME: fedora-rawhide - -fedora-rawhide-cross-mingw32-container: - <<: *container_job_definition - variables: - NAME: fedora-rawhide-cross-mingw32 - -fedora-rawhide-cross-mingw64-container: - <<: *container_job_definition - variables: - NAME: fedora-rawhide-cross-mingw64 - -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: - <<: *native-build-job - variables: - NAME: centos-8 - RPM: skip - -centos-stream: - <<: *native-build-job - variables: - NAME: centos-stream - RPM: skip - -debian-10: - <<: *native-build-job - variables: - NAME: debian-10 - -debian-sid: - <<: *native-build-job - variables: - NAME: debian-sid - -fedora-32: - <<: *native-build-job - variables: - NAME: fedora-32 - -fedora-33: - <<: *native-build-job - variables: - NAME: fedora-33 - -fedora-rawhide: - <<: *native-build-job - variables: - NAME: fedora-rawhide - -fedora-rawhide-cross-mingw32: - <<: *mingw-build-job - variables: - NAME: fedora-rawhide-cross-mingw32 - -fedora-rawhide-cross-mingw64: - <<: *mingw-build-job - variables: - NAME: fedora-rawhide-cross-mingw32 - -opensuse-151: - <<: *native-build-job - variables: - NAME: opensuse-151 - RPM: skip - -ubuntu-1804: - script: - <<: *native-build-job - variables: - NAME: ubuntu-1804 + - mkdir build + - cd build + - meson .. . $MESON_OPTS --prefix=$VIRT_PREFIX -Denable-gtk-doc=false -Denable-tests=false -Denable-introspection=disabled -Denable-vala=disabled --werror + - $NINJA + - $NINJA install -ubuntu-2004: - <<: *native-build-job - variables: - NAME: ubuntu-2004 +include: '/ci/gitlab.yml' diff --git a/ci/containers/ci-centos-8.Dockerfile b/ci/containers/centos-8.Dockerfile index 0f9ca21..9b241c9 100644 --- a/ci/containers/ci-centos-8.Dockerfile +++ b/ci/containers/centos-8.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile centos-8 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/centos:8 RUN dnf update -y && \ @@ -24,14 +25,13 @@ RUN dnf update -y && \ hwdata \ intltool \ itstool \ - json-glib-devel \ - libarchive-devel \ libsoup-devel \ libxml2 \ libxml2-devel \ libxslt-devel \ make \ ninja-build \ + osinfo-db-tools \ pkgconfig \ python3 \ python3-lxml \ @@ -49,10 +49,10 @@ RUN dnf update -y && \ rpm -qa | sort > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN pip3 install \ - meson==0.54.0 + meson==0.56.0 ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-centos-stream.Dockerfile b/ci/containers/centos-stream-8.Dockerfile index ff936a4..f37dbdd 100644 --- a/ci/containers/ci-centos-stream.Dockerfile +++ b/ci/containers/centos-stream-8.Dockerfile @@ -1,8 +1,8 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile centos-stream-8 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/6cd723b4affb2ee67e7d462dac480191c4b97598 +# https://gitlab.com/libvirt/libvirt-ci FROM quay.io/centos/centos:stream8 @@ -25,14 +25,13 @@ RUN dnf update -y && \ hwdata \ intltool \ itstool \ - json-glib-devel \ - libarchive-devel \ libsoup-devel \ libxml2 \ libxml2-devel \ libxslt-devel \ make \ ninja-build \ + osinfo-db-tools \ pkgconfig \ python3 \ python3-lxml \ diff --git a/ci/containers/ci-debian-10.Dockerfile b/ci/containers/debian-10.Dockerfile index 6c26277..0ec761d 100644 --- a/ci/containers/ci-debian-10.Dockerfile +++ b/ci/containers/debian-10.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile debian-10 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/debian:10-slim RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -20,10 +21,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ hwdata \ intltool \ itstool \ - libarchive-dev \ libgirepository1.0-dev \ libglib2.0-dev \ - libjson-glib-dev \ libsoup2.4-dev \ libxml2-dev \ libxml2-utils \ @@ -31,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ locales \ make \ ninja-build \ + osinfo-db-tools \ pkgconf \ python3 \ python3-lxml \ @@ -49,10 +49,10 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN pip3 install \ - meson==0.54.0 + meson==0.56.0 ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-debian-sid.Dockerfile b/ci/containers/debian-sid.Dockerfile index f7802ca..72be2be 100644 --- a/ci/containers/ci-debian-sid.Dockerfile +++ b/ci/containers/debian-sid.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile debian-sid osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/debian:sid-slim RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -20,10 +21,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ hwdata \ intltool \ itstool \ - libarchive-dev \ libgirepository1.0-dev \ libglib2.0-dev \ - libjson-glib-dev \ libsoup2.4-dev \ libxml2-dev \ libxml2-utils \ @@ -32,6 +31,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ make \ meson \ ninja-build \ + osinfo-db-tools \ pkgconf \ python3 \ python3-lxml \ @@ -47,7 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-fedora-33.Dockerfile b/ci/containers/fedora-33.Dockerfile index e0c658f..0e651aa 100644 --- a/ci/containers/ci-fedora-33.Dockerfile +++ b/ci/containers/fedora-33.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile fedora-33 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM registry.fedoraproject.org/fedora:33 RUN dnf install -y nosync && \ @@ -30,8 +31,6 @@ exec "$@"' > /usr/bin/nosync && \ hwdata \ intltool \ itstool \ - json-glib-devel \ - libarchive-devel \ libsoup-devel \ libxml2 \ libxml2-devel \ @@ -39,6 +38,7 @@ exec "$@"' > /usr/bin/nosync && \ make \ meson \ ninja-build \ + osinfo-db-tools \ pkgconfig \ python3 \ python3-lxml \ @@ -53,7 +53,7 @@ exec "$@"' > /usr/bin/nosync && \ rpm -qa | sort > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-fedora-32.Dockerfile b/ci/containers/fedora-34.Dockerfile index b710da9..4f5ebdb 100644 --- a/ci/containers/ci-fedora-32.Dockerfile +++ b/ci/containers/fedora-34.Dockerfile @@ -1,9 +1,10 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile fedora-32 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 -FROM registry.fedoraproject.org/fedora:32 +# https://gitlab.com/libvirt/libvirt-ci + +FROM registry.fedoraproject.org/fedora:34 RUN dnf install -y nosync && \ echo -e '#!/bin/sh\n\ @@ -30,8 +31,6 @@ exec "$@"' > /usr/bin/nosync && \ hwdata \ intltool \ itstool \ - json-glib-devel \ - libarchive-devel \ libsoup-devel \ libxml2 \ libxml2-devel \ @@ -39,6 +38,7 @@ exec "$@"' > /usr/bin/nosync && \ make \ meson \ ninja-build \ + osinfo-db-tools \ pkgconfig \ python3 \ python3-lxml \ @@ -53,7 +53,7 @@ exec "$@"' > /usr/bin/nosync && \ rpm -qa | sort > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-fedora-rawhide-cross-mingw32.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile index 3f44d35..c552b3b 100644 --- a/ci/containers/ci-fedora-rawhide-cross-mingw32.Dockerfile +++ b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile @@ -1,12 +1,27 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + FROM registry.fedoraproject.org/fedora:rawhide RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ - dnf update -y && \ - dnf install -y \ + dnf install -y nosync && \ + echo -e '#!/bin/sh\n\ +if test -d /usr/lib64\n\ +then\n\ + export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\ +else\n\ + export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\ +fi\n\ +exec "$@"' > /usr/bin/nosync && \ + chmod +x /usr/bin/nosync && \ + nosync dnf update -y && \ + nosync dnf install -y \ ca-certificates \ ccache \ check-devel \ - gcc \ git \ glibc-langpack-en \ gtk-doc \ @@ -26,13 +41,14 @@ RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ vala \ wget \ xz && \ - dnf autoremove -y && \ - dnf clean all -y && \ + nosync dnf autoremove -y && \ + nosync dnf clean all -y && \ + rpm -qa | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-cc && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-$(basename /usr/bin/gcc) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-w64-mingw32-gcc -RUN dnf install -y \ +RUN nosync dnf install -y \ mingw32-gcc \ mingw32-gettext \ mingw32-glib2 \ @@ -40,7 +56,7 @@ RUN dnf install -y \ mingw32-libxml2 \ mingw32-libxslt \ mingw32-pkg-config && \ - dnf clean all -y + nosync dnf clean all -y ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" @@ -49,5 +65,4 @@ ENV PYTHON "/usr/bin/python3" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV ABI "i686-w64-mingw32" -ENV CONFIGURE_OPTS "--host=i686-w64-mingw32" ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw32.meson" diff --git a/ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile index ed9bb06..ab07260 100644 --- a/ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile +++ b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile @@ -1,12 +1,27 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + FROM registry.fedoraproject.org/fedora:rawhide RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ - dnf update -y && \ - dnf install -y \ + dnf install -y nosync && \ + echo -e '#!/bin/sh\n\ +if test -d /usr/lib64\n\ +then\n\ + export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\ +else\n\ + export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\ +fi\n\ +exec "$@"' > /usr/bin/nosync && \ + chmod +x /usr/bin/nosync && \ + nosync dnf update -y && \ + nosync dnf install -y \ ca-certificates \ ccache \ check-devel \ - gcc \ git \ glibc-langpack-en \ gtk-doc \ @@ -26,13 +41,14 @@ RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ vala \ wget \ xz && \ - dnf autoremove -y && \ - dnf clean all -y && \ + nosync dnf autoremove -y && \ + nosync dnf clean all -y && \ + rpm -qa | sort > /packages.txt && \ mkdir -p /usr/libexec/ccache-wrappers && \ ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-cc && \ - ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-$(basename /usr/bin/gcc) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/x86_64-w64-mingw32-gcc -RUN dnf install -y \ +RUN nosync dnf install -y \ mingw64-gcc \ mingw64-gettext \ mingw64-glib2 \ @@ -40,7 +56,7 @@ RUN dnf install -y \ mingw64-libxml2 \ mingw64-libxslt \ mingw64-pkg-config && \ - dnf clean all -y + nosync dnf clean all -y ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" @@ -49,5 +65,4 @@ ENV PYTHON "/usr/bin/python3" ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" ENV ABI "x86_64-w64-mingw32" -ENV CONFIGURE_OPTS "--host=x86_64-w64-mingw32" ENV MESON_OPTS "--cross-file=/usr/share/mingw/toolchain-mingw64.meson" diff --git a/ci/containers/ci-fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile index bc22008..298b866 100644 --- a/ci/containers/ci-fedora-rawhide.Dockerfile +++ b/ci/containers/fedora-rawhide.Dockerfile @@ -1,11 +1,13 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile fedora-rawhide osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM registry.fedoraproject.org/fedora:rawhide -RUN dnf install -y nosync && \ +RUN dnf update -y --nogpgcheck fedora-gpg-keys && \ + dnf install -y nosync && \ echo -e '#!/bin/sh\n\ if test -d /usr/lib64\n\ then\n\ @@ -15,7 +17,6 @@ else\n\ fi\n\ exec "$@"' > /usr/bin/nosync && \ chmod +x /usr/bin/nosync && \ - nosync dnf update -y --nogpgcheck fedora-gpg-keys && \ nosync dnf update -y && \ nosync dnf install -y \ ca-certificates \ @@ -31,8 +32,6 @@ exec "$@"' > /usr/bin/nosync && \ hwdata \ intltool \ itstool \ - json-glib-devel \ - libarchive-devel \ libsoup-devel \ libxml2 \ libxml2-devel \ @@ -40,6 +39,7 @@ exec "$@"' > /usr/bin/nosync && \ make \ meson \ ninja-build \ + osinfo-db-tools \ pkgconfig \ python3 \ python3-lxml \ @@ -54,7 +54,7 @@ exec "$@"' > /usr/bin/nosync && \ rpm -qa | sort > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-opensuse-151.Dockerfile b/ci/containers/opensuse-leap-152.Dockerfile index d8cabd4..d5a7529 100644 --- a/ci/containers/ci-opensuse-151.Dockerfile +++ b/ci/containers/opensuse-leap-152.Dockerfile @@ -1,9 +1,10 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile opensuse-151 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 -FROM registry.opensuse.org/opensuse/leap:15.1 +# https://gitlab.com/libvirt/libvirt-ci + +FROM registry.opensuse.org/opensuse/leap:15.2 RUN zypper update -y && \ zypper install -y \ @@ -11,7 +12,7 @@ RUN zypper update -y && \ ccache \ check-devel \ gcc \ - gettext \ + gettext-runtime \ git \ glib2-devel \ glibc-locale \ @@ -20,16 +21,15 @@ RUN zypper update -y && \ hwdata \ intltool \ itstool \ - json-glib-devel \ - libarchive-devel \ libsoup-devel \ libxml2 \ libxml2-devel \ libxslt-devel \ make \ ninja \ + osinfo-db-tools \ pkgconfig \ - python3 \ + python3-base \ python3-lxml \ python3-pip \ python3-pytest \ @@ -44,10 +44,10 @@ RUN zypper update -y && \ rpm -qa | sort > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN pip3 install \ - meson==0.54.0 + meson==0.56.0 ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/opensuse-tumbleweed.Dockerfile b/ci/containers/opensuse-tumbleweed.Dockerfile new file mode 100644 index 0000000..8e3b2a8 --- /dev/null +++ b/ci/containers/opensuse-tumbleweed.Dockerfile @@ -0,0 +1,51 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + +FROM registry.opensuse.org/opensuse/tumbleweed:latest + +RUN zypper update -y && \ + zypper install -y \ + ca-certificates \ + ccache \ + check-devel \ + gcc \ + gettext-runtime \ + git \ + glib2-devel \ + glibc-locale \ + gobject-introspection-devel \ + gtk-doc \ + hwdata \ + intltool \ + itstool \ + libsoup-devel \ + libxml2 \ + libxml2-devel \ + libxslt-devel \ + make \ + meson \ + ninja \ + osinfo-db-tools \ + pkgconfig \ + python3-base \ + python3-lxml \ + python3-pytest \ + python3-requests \ + rpm-build \ + vala \ + wget \ + xz && \ + zypper clean --all && \ + rpm -qa | sort > /packages.txt && \ + 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/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/containers/ci-ubuntu-1804.Dockerfile b/ci/containers/ubuntu-1804.Dockerfile index f607fc1..9b35858 100644 --- a/ci/containers/ci-ubuntu-1804.Dockerfile +++ b/ci/containers/ubuntu-1804.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile ubuntu-1804 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/ubuntu:18.04 RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -20,10 +21,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ hwdata \ intltool \ itstool \ - libarchive-dev \ libgirepository1.0-dev \ libglib2.0-dev \ - libjson-glib-dev \ libsoup2.4-dev \ libxml2-dev \ libxml2-utils \ @@ -31,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ locales \ make \ ninja-build \ + osinfo-db-tools \ pkgconf \ python3 \ python3-lxml \ @@ -49,10 +49,10 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN pip3 install \ - meson==0.54.0 + meson==0.56.0 ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/containers/ci-ubuntu-2004.Dockerfile b/ci/containers/ubuntu-2004.Dockerfile index 9d00193..9e989bf 100644 --- a/ci/containers/ci-ubuntu-2004.Dockerfile +++ b/ci/containers/ubuntu-2004.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile ubuntu-2004 osinfo-db-tools,osinfo-db,libosinfo +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/b098ec6631a85880f818f2dd25c437d509e53680 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/ubuntu:20.04 RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -20,10 +21,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ hwdata \ intltool \ itstool \ - libarchive-dev \ libgirepository1.0-dev \ libglib2.0-dev \ - libjson-glib-dev \ libsoup2.4-dev \ libxml2-dev \ libxml2-utils \ @@ -31,6 +30,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ locales \ make \ ninja-build \ + osinfo-db-tools \ pkgconf \ python3 \ python3-lxml \ @@ -49,10 +49,10 @@ RUN export DEBIAN_FRONTEND=noninteractive && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 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) + ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc RUN pip3 install \ - meson==0.54.0 + meson==0.56.0 ENV LANG "en_US.UTF-8" ENV MAKE "/usr/bin/make" diff --git a/ci/gitlab.yml b/ci/gitlab.yml new file mode 100644 index 0000000..802654c --- /dev/null +++ b/ci/gitlab.yml @@ -0,0 +1,272 @@ +# THIS FILE WAS AUTO-GENERATED +# +# $ lcitool manifest ci/manifest.yml +# +# https://gitlab.com/libvirt/libvirt-ci + + +.container_job: + image: docker:stable + stage: containers + needs: [] + services: + - name: registry.gitlab.com/libvirt/libvirt-ci/docker-dind:master + alias: docker + before_script: + - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest" + - export COMMON_TAG="$CI_REGISTRY/libosinfo/libosinfo/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/containers/$NAME.Dockerfile" ci/containers + - docker push "$TAG" + after_script: + - docker logout + + +.gitlab_native_build_job: + image: $CI_REGISTRY_IMAGE/ci-$NAME:latest + stage: builds + + +.gitlab_cross_build_job: + image: $CI_REGISTRY_IMAGE/ci-$NAME-cross-$CROSS:latest + stage: builds + + +check-dco: + stage: sanity_checks + needs: [] + image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master + script: + - /check-dco libosinfo + except: + variables: + - $CI_PROJECT_NAMESPACE == 'libosinfo' + variables: + GIT_DEPTH: 1000 + + +# Native container jobs + +x86_64-centos-8-container: + extends: .container_job + allow_failure: false + variables: + NAME: centos-8 + + +x86_64-centos-stream-8-container: + extends: .container_job + allow_failure: false + variables: + NAME: centos-stream-8 + + +x86_64-debian-10-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-10 + + +x86_64-debian-sid-container: + extends: .container_job + allow_failure: false + variables: + NAME: debian-sid + + +x86_64-fedora-33-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-33 + + +x86_64-fedora-34-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-34 + + +x86_64-fedora-rawhide-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-rawhide + + +x86_64-opensuse-leap-152-container: + extends: .container_job + allow_failure: false + variables: + NAME: opensuse-leap-152 + + +x86_64-opensuse-tumbleweed-container: + extends: .container_job + allow_failure: false + variables: + NAME: opensuse-tumbleweed + + +x86_64-ubuntu-1804-container: + extends: .container_job + allow_failure: false + variables: + NAME: ubuntu-1804 + + +x86_64-ubuntu-2004-container: + extends: .container_job + allow_failure: false + variables: + NAME: ubuntu-2004 + + + +# Cross container jobs + +mingw32-fedora-rawhide-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-rawhide-cross-mingw32 + + +mingw64-fedora-rawhide-container: + extends: .container_job + allow_failure: false + variables: + NAME: fedora-rawhide-cross-mingw64 + + +# Native build jobs + +x86_64-centos-8: + extends: .native_build_job + needs: + - x86_64-centos-8-container + allow_failure: false + variables: + NAME: centos-8 + RPM: skip + + +x86_64-centos-stream-8: + extends: .native_build_job + needs: + - x86_64-centos-stream-8-container + allow_failure: false + variables: + NAME: centos-stream-8 + RPM: skip + + +x86_64-debian-10: + extends: .native_build_job + needs: + - x86_64-debian-10-container + allow_failure: false + variables: + NAME: debian-10 + + +x86_64-debian-sid: + extends: .native_build_job + needs: + - x86_64-debian-sid-container + allow_failure: false + variables: + NAME: debian-sid + + +x86_64-fedora-33: + extends: .native_build_job + needs: + - x86_64-fedora-33-container + allow_failure: false + variables: + NAME: fedora-33 + + +x86_64-fedora-34: + extends: .native_build_job + needs: + - x86_64-fedora-34-container + allow_failure: false + variables: + NAME: fedora-34 + + +x86_64-fedora-rawhide: + extends: .native_build_job + needs: + - x86_64-fedora-rawhide-container + allow_failure: false + variables: + NAME: fedora-rawhide + + +x86_64-opensuse-leap-152: + extends: .native_build_job + needs: + - x86_64-opensuse-leap-152-container + allow_failure: false + variables: + NAME: opensuse-leap-152 + RPM: skip + + +x86_64-opensuse-tumbleweed: + extends: .native_build_job + needs: + - x86_64-opensuse-tumbleweed-container + allow_failure: false + variables: + NAME: opensuse-tumbleweed + RPM: skip + + +x86_64-ubuntu-1804: + extends: .native_build_job + needs: + - x86_64-ubuntu-1804-container + allow_failure: false + variables: + NAME: ubuntu-1804 + + +x86_64-ubuntu-2004: + extends: .native_build_job + needs: + - x86_64-ubuntu-2004-container + allow_failure: false + variables: + NAME: ubuntu-2004 + + + +# Cross build jobs + +mingw32-fedora-rawhide: + extends: .cross_build_job + needs: + - mingw32-fedora-rawhide-container + allow_failure: false + variables: + NAME: fedora-rawhide + CROSS: mingw32 + + +mingw64-fedora-rawhide: + extends: .cross_build_job + needs: + - mingw64-fedora-rawhide-container + allow_failure: false + variables: + NAME: fedora-rawhide + CROSS: mingw64 |