On 17/11/2020 07.57, Cho, Yu-Chen wrote: > Add build-system-opensuse jobs and add opensuse-leap.docker dockerfile. > Use openSUSE Leap 15.2 container image in the gitlab-CI. > > Signed-off-by: Cho, Yu-Chen <a...@suse.com> > --- > .gitlab-ci.d/containers.yml | 5 ++ > .gitlab-ci.yml | 30 +++++++ > tests/docker/dockerfiles/opensuse-leap.docker | 88 +++++++++++++++++++ > 3 files changed, 123 insertions(+) > create mode 100644 tests/docker/dockerfiles/opensuse-leap.docker > > diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml > index 11d079ea58..082624a6fa 100644 > --- a/.gitlab-ci.d/containers.yml > +++ b/.gitlab-ci.d/containers.yml > @@ -246,3 +246,8 @@ amd64-ubuntu-container: > <<: *container_job_definition > variables: > NAME: ubuntu > + > +amd64-opensuse-leap-container: > + <<: *container_job_definition > + variables: > + NAME: opensuse-leap > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 9a8b375188..bf4759296a 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -195,6 +195,36 @@ acceptance-system-centos: > MAKE_CHECK_ARGS: check-acceptance > <<: *acceptance_definition > > +build-system-opensuse: > + <<: *native_build_job_definition > + variables: > + IMAGE: opensuse-leap > + TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu > + MAKE_CHECK_ARGS: check-build > + artifacts: > + expire_in: 2 days > + paths: > + - build > + > +check-system-opensuse: > + <<: *native_test_job_definition > + needs: > + - job: build-system-opensuse > + artifacts: true > + variables: > + IMAGE: opensuse-leap > + MAKE_CHECK_ARGS: check > + > +acceptance-system-opensuse: > + <<: *native_test_job_definition > + needs: > + - job: build-system-opensuse > + artifacts: true > + variables: > + IMAGE: opensuse-leap > + MAKE_CHECK_ARGS: check-acceptance > + <<: *acceptance_definition > + > build-disabled: > <<: *native_build_job_definition > variables: > diff --git a/tests/docker/dockerfiles/opensuse-leap.docker > b/tests/docker/dockerfiles/opensuse-leap.docker > new file mode 100644 > index 0000000000..712eb4fe3a > --- /dev/null > +++ b/tests/docker/dockerfiles/opensuse-leap.docker > @@ -0,0 +1,88 @@ > +FROM opensuse/leap:15.2 > + > +RUN zypper update -y > + > +# Please keep this list sorted alphabetically > +ENV PACKAGES \ > + bc \ > + brlapi-devel \ > + bzip2 \ > + libzip-devel \ > + ccache \ > + clang \ > + cyrus-sasl-devel \ > + dbus-1 \ > + device-mapper-devel \ > + gcc \ > + gcc-c++ \ > + mkisofs \ > + gettext-runtime \ > + git \ > + glib2-devel \ > + glusterfs-devel \ > + libgnutls-devel \ > + gtk3-devel \ > + hostname \ > + libaio-devel \ > + libasan5 \ > + libattr-devel \ > + libblockdev-devel \ > + libcap-ng-devel \ > + libcurl-devel \ > + libepoxy-devel \ > + libfdt-devel \ > + libiscsi-devel \ > + libjpeg8-devel \ > + libpmem-devel \ > + libpng16-devel \ > + librbd-devel \ > + libseccomp-devel \ > + libssh-devel \ > + libubsan0 \ > + libudev-devel \ > + libxml2-devel \ > + libzstd-devel \ > + llvm \ > + lzo-devel \ > + make \ > + mingw32-filesystem \ > + glibc-devel-32bit \ > + libSDL2_image-devel \ > + mingw64-binutils \ > + nmap \ > + ncat \ > + ncurses-devel \ > + libnettle-devel \ > + ninja \ > + mozilla-nss-devel \ > + libnuma-devel \ > + perl \ > + libpixman-1-0-devel \ > + python3-base \ > + python3-PyYAML \ > + python3-numpy \ > + python3-opencv \ > + python3-Pillow \ > + python3-pip \ > + python3-Sphinx \ > + python3-virtualenv \ > + rdma-core-devel \ > + libSDL2-devel \ > + snappy-devel \ > + sparse \ > + libspice-server-devel \ > + systemd-devel \ > + systemtap-sdt-devel \ > + tar \ > + tesseract-ocr \ > + tesseract-ocr-traineddata-english \ > + usbredir-devel \ > + virglrenderer-devel \ > + libvte-2_91-0 \ > + which \ > + xen-devel \ > + zlib-devel > +ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3.8 > + > +RUN zypper --non-interactive install -y $PACKAGES > +RUN rpm -q $PACKAGES | sort > /packages.txt
Thanks, I gave it a try now and it seems to work fine so far ... but the initial creation of the container was quite slow, 28 minutes, that's quite a bit more from what I've seen with the other containers so far: https://gitlab.com/huth/qemu/-/jobs/853630446 (other containers took e.g. only 10 minutes like https://gitlab.com/huth/qemu/-/jobs/853630446 or 15 minutes like https://gitlab.com/qemu-project/qemu/-/jobs/812284100) Did I maybe just hit a bad point in time? Or would it make sense to trim the list of packages that need to be installed? For example, unless you want to test m68k-softmmu in this container, too, you don't need tesseract-ocr. And why do you need mozilla-nss-devel ? And I think you could also drop the mingw packages for now, unless you want to cross-compile some Windows binaries with this container? Also, do we need clang/llvm in here? sparse? nmap? glibc-devel-32bit? libzip-devel? And why is there libvte-2_91-0, but no libvte-2_91-devel ? I think at least some of those packages could be dropped, indeed. Thomas