diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbe94ce..0a9a163 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,24 +3,6 @@ stages: - builds - sanity_checks -.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/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/containers/ci-$NAME.Dockerfile" ci/containers - - docker push "$TAG" - after_script: - - docker logout - .script_variables: &script_variables | export MAKEFLAGS="-j$(getconf _NPROCESSORS_ONLN)" export SCRATCH_DIR="/tmp/scratch" @@ -30,9 +12,8 @@ stages: export PATH="$VROOT/bin:$PATH" export PKG_CONFIG_PATH="$LIBDIR/pkgconfig" -.dist_native_build_job_template: &dist_native_build_job_definition - image: $CI_REGISTRY_IMAGE/ci-$NAME:latest - stage: builds +.native_build_job: + extends: .gitlab_native_build_job before_script: - *script_variables script: @@ -43,9 +24,8 @@ stages: rpmbuild --nodeps -ta build/meson-dist/virt-viewer-*.tar.xz; fi -.git_native_build_job_template: &git_native_build_job_definition - image: $CI_REGISTRY_IMAGE/ci-$NAME:latest - stage: builds +.native_git_build_job: + extends: .gitlab_native_build_job before_script: - *script_variables script: @@ -73,10 +53,9 @@ stages: rpmbuild --nodeps -ta build/meson-dist/virt-viewer-*.tar.xz; fi -# Default cross build jobs that are always run -.git_cross_build_default_job_template: &git_cross_build_default_job_definition +.cross_build_job: + extends: .gitlab_cross_build_job image: $CI_REGISTRY_IMAGE/ci-$NAME:latest - stage: builds cache: paths: - ccache/ @@ -84,207 +63,18 @@ stages: before_script: - *script_variables 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 - - meson build -Ddriver_libvirtd=disabled "--prefix=$VROOT" "--libdir=$LIBDIR" $MESON_OPTS - - ninja -C build install - - cd ../libvirt-glib - - meson build --prefix="$VROOT" --libdir="$LIBDIR" -Ddocs=disabled $MESON_OPTS - - $NINJA -C build install - - cd ../gtk-vnc - - git submodule update --init - - meson build $MESON_OPTS --prefix="$VROOT" --libdir="$LIBDIR" -Dintrospection=disabled - - $NINJA -C build install - - popd - meson build $MESON_OPTS - $NINJA -C build -# Check that all commits are signed-off for the DCO. -# Skip on "virt-viewer" namespace, since we only need to run -# this test on developer's personal forks from which -# merge requests are submitted -check-dco: - stage: sanity_checks - needs: [] - image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master - script: - - /check-dco virt-viewer - except: - variables: - - $CI_PROJECT_NAMESPACE == 'virt-viewer' - -x86-centos-8-container: - <<: *container_job_definition - variables: - NAME: centos-8 - -x86-centos-stream-container: - <<: *container_job_definition - variables: - NAME: centos-stream - -x86-debian-10-container: - <<: *container_job_definition - variables: - NAME: debian-10 - -x86-debian-sid-container: - <<: *container_job_definition - variables: - NAME: debian-sid - -x86-fedora-32-container: - <<: *container_job_definition - variables: - NAME: fedora-32 - -x86-fedora-33-container: - <<: *container_job_definition - variables: - NAME: fedora-33 - -x86-fedora-rawhide-container: - <<: *container_job_definition - variables: - NAME: fedora-rawhide - -x86-opensuse-152-container: - <<: *container_job_definition - variables: - NAME: opensuse-152 - -x86-ubuntu-1804-container: - <<: *container_job_definition - variables: - NAME: ubuntu-1804 - -x86-ubuntu-2004-container: - <<: *container_job_definition - variables: - NAME: ubuntu-2004 - -mingw32-fedora-rawhide-container: - <<: *container_job_definition - variables: - NAME: fedora-rawhide-cross-mingw32 - -mingw64-fedora-rawhide-container: - <<: *container_job_definition - variables: - NAME: fedora-rawhide-cross-mingw64 - +include: '/ci/gitlab.yml' codestyle: stage: sanity_checks image: $CI_REGISTRY_IMAGE/ci-centos-8:latest needs: - - x86-centos-8-container + - x86_64-centos-8-container before_script: - *script_variables script: - meson build || (cat build/meson-logs/meson-log.txt && exit 1) - meson test -C build --suite syntax-check --no-rebuild || (cat build/meson-logs/testlog.txt && exit 1) - -x86-centos-8-git-build: - <<: *git_native_build_job_definition - needs: - - x86-centos-8-container - variables: - NAME: centos-8 - RPM: skip - -x86-centos-stream-dist-build: - <<: *git_native_build_job_definition - needs: - - x86-centos-stream-container - variables: - NAME: centos-stream - RPM: skip - -x86-debian-10-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-debian-10-container - variables: - NAME: debian-10 - -x86-debian-sid-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-debian-sid-container - variables: - NAME: debian-sid - -x86-fedora-32-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-fedora-32-container - variables: - NAME: fedora-32 - -x86-fedora-33-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-fedora-33-container - variables: - NAME: fedora-33 - -x86-fedora-rawhide-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-fedora-rawhide-container - variables: - NAME: fedora-rawhide - -x86-opensuse-152-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-opensuse-152-container - variables: - NAME: opensuse-152 - RPM: skip - -x86-ubuntu-1804-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-ubuntu-1804-container - variables: - NAME: ubuntu-1804 - -x86-ubuntu-2004-dist-build: - <<: *dist_native_build_job_definition - needs: - - x86-ubuntu-2004-container - variables: - NAME: ubuntu-2004 - -mingw32-fedora-rawhide-git-build: - <<: *git_cross_build_default_job_definition - needs: - - mingw32-fedora-rawhide-container - variables: - NAME: fedora-rawhide-cross-mingw32 - artifacts: - name: 'x86-msi' - when: on_success - expire_in: 30 days - paths: - - data/virt-viewer-x86*.msi.pot - -mingw64-fedora-rawhide-git-build: - <<: *git_cross_build_default_job_definition - needs: - - mingw64-fedora-rawhide-container - variables: - NAME: fedora-rawhide-cross-mingw64 - artifacts: - name: 'x64-msi' - when: on_success - expire_in: 30 days - paths: - - data/virt-viewer-x64*.msi.pot diff --git a/ci/containers/ci-centos-8.Dockerfile b/ci/containers/centos-8.Dockerfile similarity index 52% rename from ci/containers/ci-centos-8.Dockerfile rename to ci/containers/centos-8.Dockerfile index c380e57..2b8d780 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 libvirt+minimal,libvirt-glib,gtk-vnc,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/centos:8 RUN dnf update -y && \ @@ -11,10 +12,22 @@ RUN dnf update -y && \ dnf install -y centos-release-advanced-virtualization && \ dnf install -y epel-release && \ dnf install -y \ + audit-libs-devel \ + augeas \ bash-completion \ ca-certificates \ ccache \ + clang \ + cpp \ cyrus-sasl-devel \ + dbus-devel \ + device-mapper-devel \ + diffutils \ + dnsmasq \ + dwarves \ + ebtables \ + firewalld-filesystem \ + fuse-devel \ gcc \ gdk-pixbuf2-devel \ gettext \ @@ -22,43 +35,84 @@ RUN dnf update -y && \ glib2-devel \ glibc-devel \ glibc-langpack-en \ + glusterfs-api-devel \ gnutls-devel \ gobject-introspection-devel \ + grep \ gtk-doc \ gtk3-devel \ icoutils \ intltool \ + iproute \ + iproute-tc \ + iptables \ + iscsi-initiator-utils \ + kmod \ + libacl-devel \ + libattr-devel \ + libblkid-devel \ + libcap-ng-devel \ + libcurl-devel \ libgcrypt-devel \ + libiscsi-devel \ libnl3-devel \ + libpcap-devel \ + libpciaccess-devel \ + librbd-devel \ + libselinux-devel \ + libssh-devel \ + libssh2-devel \ libtirpc-devel \ libtool \ + libudev-devel \ + libwsman-devel \ libxml2 \ libxml2-devel \ libxslt \ + lvm2 \ make \ + netcf-devel \ + nfs-utils \ ninja-build \ + numactl-devel \ + numad \ + parted \ + parted-devel \ perl \ pkgconfig \ + polkit \ pulseaudio-libs-devel \ python3 \ python3-docutils \ + python3-flake8 \ python3-pip \ python3-setuptools \ python3-wheel \ + qemu-img \ + radvd \ + readline-devel \ rpcgen \ rpm-build \ + sanlock-devel \ + scrub \ + sed \ spice-gtk3-devel \ + systemtap-sdt-devel \ vala \ - vte291-devel && \ + vte291-devel \ + wireshark-devel \ + xfsprogs-devel \ + yajl-devel && \ dnf autoremove -y && \ dnf clean all -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/clang && \ + 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 similarity index 65% rename from ci/containers/ci-centos-stream.Dockerfile rename to ci/containers/centos-stream-8.Dockerfile index 8aa40cd..82da833 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 libvirt+minimal,libvirt-glib,gtk-vnc,virt-viewer +# $ 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 @@ -15,42 +15,24 @@ RUN dnf update -y && \ bash-completion \ ca-certificates \ ccache \ - cpp \ - cyrus-sasl-devel \ gcc \ - gdk-pixbuf2-devel \ - gettext \ git \ glib2-devel \ - glibc-devel \ glibc-langpack-en \ - gnutls-devel \ - gobject-introspection-devel \ - gtk-doc \ gtk3-devel \ icoutils \ - intltool \ - libgcrypt-devel \ - libnl3-devel \ - libtirpc-devel \ libtool \ + libvirt-devel \ libxml2 \ libxml2-devel \ - libxslt \ make \ ninja-build \ - perl \ pkgconfig \ - pulseaudio-libs-devel \ - python3 \ - python3-docutils \ python3-pip \ python3-setuptools \ python3-wheel \ - rpcgen \ rpm-build \ spice-gtk3-devel \ - vala \ vte291-devel && \ dnf autoremove -y && \ dnf clean all -y && \ @@ -65,5 +47,4 @@ RUN pip3 install \ 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-debian-10.Dockerfile b/ci/containers/debian-10.Dockerfile similarity index 84% rename from ci/containers/ci-debian-10.Dockerfile rename to ci/containers/debian-10.Dockerfile index 771c630..9fdcca2 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/debian:10-slim RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -43,10 +44,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 similarity index 84% rename from ci/containers/ci-debian-sid.Dockerfile rename to ci/containers/debian-sid.Dockerfile index 2a3a2b0..59a25ca 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/debian:sid-slim RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -41,7 +42,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 similarity index 83% rename from ci/containers/ci-fedora-33.Dockerfile rename to ci/containers/fedora-33.Dockerfile index c9aaef7..f1bc31c 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM registry.fedoraproject.org/fedora:33 RUN dnf install -y nosync && \ @@ -46,7 +47,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 similarity index 80% rename from ci/containers/ci-fedora-32.Dockerfile rename to ci/containers/fedora-34.Dockerfile index f5ff674..ebfd46f 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 -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\ @@ -46,7 +47,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 similarity index 54% rename from ci/containers/ci-fedora-rawhide-cross-mingw32.Dockerfile rename to ci/containers/fedora-rawhide-cross-mingw32.Dockerfile index cadfbb8..0f231af 100644 --- a/ci/containers/ci-fedora-rawhide-cross-mingw32.Dockerfile +++ b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile @@ -1,11 +1,13 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile --cross mingw32 fedora-rawhide libvirt,libvirt-glib,gtk-vnc,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# 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,79 +17,38 @@ 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 \ - augeas \ bash-completion \ ca-certificates \ ccache \ - cppi \ - diffutils \ - dnsmasq \ - dwarves \ - ebtables \ - firewalld-filesystem \ git \ glibc-langpack-en \ - gtk-doc \ + gtk-vnc2-devel \ icoutils \ - intltool \ - iproute \ - iproute-tc \ - iscsi-initiator-utils \ - kmod \ libtool \ - libwsman-devel \ libxml2 \ - libxslt \ - lvm2 \ make \ meson \ - nfs-utils \ ninja-build \ - numad \ - parted \ - perl \ - polkit \ - python3 \ - python3-docutils \ - python3-flake8 \ - qemu-img \ - radvd \ - rpcgen \ - rpm-build \ - scrub \ - sheepdog \ - vala \ - zfs-fuse && \ + rpm-build && \ 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 nosync dnf install -y \ - mingw32-curl \ - mingw32-dbus \ - mingw32-dlfcn \ mingw32-gcc \ - mingw32-gdk-pixbuf \ - mingw32-gettext \ mingw32-glib2 \ - mingw32-gnutls \ mingw32-gstreamer1-plugins-bad-free \ mingw32-gstreamer1-plugins-good \ mingw32-gtk3 \ - mingw32-headers \ - mingw32-libgcrypt \ mingw32-libgovirt \ - mingw32-libssh2 \ + mingw32-libvirt \ mingw32-libxml2 \ mingw32-pkg-config \ - mingw32-portablexdr \ - mingw32-readline \ mingw32-rest \ mingw32-spice-gtk3 && \ nosync dnf clean all -y @@ -95,7 +56,6 @@ RUN nosync dnf install -y \ 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" ENV ABI "i686-w64-mingw32" diff --git a/ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile similarity index 54% rename from ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile rename to ci/containers/fedora-rawhide-cross-mingw64.Dockerfile index 47982df..e7c23c1 100644 --- a/ci/containers/ci-fedora-rawhide-cross-mingw64.Dockerfile +++ b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile @@ -1,11 +1,13 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile --cross mingw64 fedora-rawhide libvirt,libvirt-glib,gtk-vnc,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# 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,79 +17,38 @@ 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 \ - augeas \ bash-completion \ ca-certificates \ ccache \ - cppi \ - diffutils \ - dnsmasq \ - dwarves \ - ebtables \ - firewalld-filesystem \ git \ glibc-langpack-en \ - gtk-doc \ + gtk-vnc2-devel \ icoutils \ - intltool \ - iproute \ - iproute-tc \ - iscsi-initiator-utils \ - kmod \ libtool \ - libwsman-devel \ libxml2 \ - libxslt \ - lvm2 \ make \ meson \ - nfs-utils \ ninja-build \ - numad \ - parted \ - perl \ - polkit \ - python3 \ - python3-docutils \ - python3-flake8 \ - qemu-img \ - radvd \ - rpcgen \ - rpm-build \ - scrub \ - sheepdog \ - vala \ - zfs-fuse && \ + rpm-build && \ 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 nosync dnf install -y \ - mingw64-curl \ - mingw64-dbus \ - mingw64-dlfcn \ mingw64-gcc \ - mingw64-gdk-pixbuf \ - mingw64-gettext \ mingw64-glib2 \ - mingw64-gnutls \ mingw64-gstreamer1-plugins-bad-free \ mingw64-gstreamer1-plugins-good \ mingw64-gtk3 \ - mingw64-headers \ - mingw64-libgcrypt \ mingw64-libgovirt \ - mingw64-libssh2 \ + mingw64-libvirt \ mingw64-libxml2 \ mingw64-pkg-config \ - mingw64-portablexdr \ - mingw64-readline \ mingw64-rest \ mingw64-spice-gtk3 && \ nosync dnf clean all -y @@ -95,7 +56,6 @@ RUN nosync dnf install -y \ 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" ENV ABI "x86_64-w64-mingw32" diff --git a/ci/containers/ci-fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile similarity index 77% rename from ci/containers/ci-fedora-rawhide.Dockerfile rename to ci/containers/fedora-rawhide.Dockerfile index 6e8a659..c20568c 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# 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 \ bash-completion \ @@ -47,7 +48,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-152.Dockerfile b/ci/containers/opensuse-leap-152.Dockerfile similarity index 79% rename from ci/containers/ci-opensuse-152.Dockerfile rename to ci/containers/opensuse-leap-152.Dockerfile index 0057693..afb487b 100644 --- a/ci/containers/ci-opensuse-152.Dockerfile +++ b/ci/containers/opensuse-leap-152.Dockerfile @@ -1,8 +1,9 @@ # THIS FILE WAS AUTO-GENERATED # -# $ lcitool dockerfile opensuse-152 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM registry.opensuse.org/opensuse/leap:15.2 RUN zypper update -y && \ @@ -37,10 +38,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..fb30259 --- /dev/null +++ b/ci/containers/opensuse-tumbleweed.Dockerfile @@ -0,0 +1,44 @@ +# 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 \ + bash-completion \ + ca-certificates \ + ccache \ + gcc \ + git \ + glib2-devel \ + glibc-locale \ + gtk-vnc-devel \ + gtk3-devel \ + icoutils \ + libgovirt-devel \ + librest-devel \ + libtool \ + libvirt-devel \ + libvirt-glib-devel \ + libxml2 \ + libxml2-devel \ + make \ + meson \ + ninja \ + pkgconfig \ + rpm-build \ + spice-gtk-devel \ + vte-devel && \ + 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 CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" diff --git a/ci/containers/ci-ubuntu-1804.Dockerfile b/ci/containers/ubuntu-1804.Dockerfile similarity index 83% rename from ci/containers/ci-ubuntu-1804.Dockerfile rename to ci/containers/ubuntu-1804.Dockerfile index d312b10..ea921f1 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/ubuntu:18.04 RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -42,10 +43,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 similarity index 83% rename from ci/containers/ci-ubuntu-2004.Dockerfile rename to ci/containers/ubuntu-2004.Dockerfile index c46c7fa..febba63 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 libvirt+dist,libvirt-glib+dist,gtk-vnc+dist,virt-viewer +# $ lcitool manifest ci/manifest.yml # -# https://gitlab.com/libvirt/libvirt-ci/-/commit/318adcadcf442daba1883f5046ad1970b65e5ca0 +# https://gitlab.com/libvirt/libvirt-ci + FROM docker.io/library/ubuntu:20.04 RUN export DEBIAN_FRONTEND=noninteractive && \ @@ -42,10 +43,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..3b18efc --- /dev/null +++ b/ci/gitlab.yml @@ -0,0 +1,279 @@ +# 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/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/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 virt-viewer + except: + variables: + - $CI_PROJECT_NAMESPACE == 'virt-viewer' + 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 + artifacts: + expire_in: 30 days + paths: + - data/virt-viewer-x86*.msi + +mingw64-fedora-rawhide: + extends: .cross_build_job + needs: + - mingw64-fedora-rawhide-container + allow_failure: false + variables: + NAME: fedora-rawhide + CROSS: mingw64 + artifacts: + expire_in: 30 days + paths: + - data/virt-viewer-x64*.msi \ No newline at end of file