qemu-devel
[Top][All Lists]
Advanced

[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: Alex Bennée
Subject: Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Date: Thu, 19 Nov 2020 10:34:17 +0000
User-agent: mu4e 1.5.7; emacs 28.0.50

AL Yu-Chen Cho <acho@suse.com> writes:

> 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.

I'd keep the focus on building the specific OpenSUSE binaries. We have
pretty good cross compiler support from Debian already so unless
OpenSUSE packages some architectures we don't already have covered then
I would suggest keeping it light. Even in the Debian case we layer the
images so each cross compiler shares a common light base and not a full
featured build everything image.

-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]