On Tue, 2020-11-17 at 12:51 +0100, Thomas Huth wrote: > 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? >
No, Thanks for your suggestion, I think I can decrease the docker build duration. > Or would it make sense to trim the list of packages that need to be > installed? yes, I already started to trim, will submit v2 sson. > > 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? > yes, no problem. The origin plan is add some cross-compiler after this patch, and that I am not sure which one way to add it is that best ( and that would not use the resource to create the docker image again. but I think I should patch it later. > 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 ? > yes, it's wrong, that should be vte-devel. > I think at least some of those packages could be dropped, indeed. > Yes, I'm not so familiar with gitlab CI/CD, but I will modify the dockerfile to fit the processes, thanks a lot for your suggestion and comments. Cheers, AL