[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
From: |
AL Yu-Chen Cho |
Subject: |
Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD |
Date: |
Thu, 19 Nov 2020 15:37:50 +0800 |
User-agent: |
Evolution 3.36.5 |
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 <acho@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