[PATCH] gitlab-ci.yml: Add openSUSE Tumbleweed and Leap for gitlab CI/CD

Yu-Chen, Cho posted 1 patch 3 years, 5 months ago
Failed in applying to current master (apply log)
.gitlab-ci.d/containers.yml                 | 10 +++
.gitlab-ci.yml                              | 60 ++++++++++++++
tests/docker/dockerfiles/opensuse152.docker | 88 ++++++++++++++++++++
tests/docker/dockerfiles/opensusetw.docker  | 89 +++++++++++++++++++++
4 files changed, 247 insertions(+)
create mode 100644 tests/docker/dockerfiles/opensuse152.docker
create mode 100644 tests/docker/dockerfiles/opensusetw.docker
[PATCH] gitlab-ci.yml: Add openSUSE Tumbleweed and Leap for gitlab CI/CD
Posted by Yu-Chen, Cho 3 years, 5 months ago
Add build-system-opensusetw and build-system-opensuse152 jobs and
add opensuse152.docker and opensusetw.docker dockerfile.
Use openSUSE Tumbleweed and openSUSE Leap 15.2 container image in the
gitlab-CI.

Signed-off-by: Yu-Chen, Cho <acho@suse.com>
---
 .gitlab-ci.d/containers.yml                 | 10 +++
 .gitlab-ci.yml                              | 60 ++++++++++++++
 tests/docker/dockerfiles/opensuse152.docker | 88 ++++++++++++++++++++
 tests/docker/dockerfiles/opensusetw.docker  | 89 +++++++++++++++++++++
 4 files changed, 247 insertions(+)
 create mode 100644 tests/docker/dockerfiles/opensuse152.docker
 create mode 100644 tests/docker/dockerfiles/opensusetw.docker

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 11d079ea58..449a00de70 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -48,6 +48,16 @@ amd64-debian11-container:
   variables:
     NAME: debian11
 
+amd64-opensuseTW-container:
+  <<: *container_job_definition
+  variables:
+    NAME: opensusetw
+
+amd64-opensuse152-container:
+  <<: *container_job_definition
+  variables:
+    NAME: opensuse152
+
 alpha-debian-cross-container:
   <<: *container_job_definition
   stage: containers-layer2
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9a8b375188..540a700596 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -195,6 +195,66 @@ acceptance-system-centos:
     MAKE_CHECK_ARGS: check-acceptance
   <<: *acceptance_definition
 
+build-system-opensusetw:
+  <<: *native_build_job_definition
+  variables:
+    IMAGE: opensusetw
+    TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
+    MAKE_CHECK_ARGS: check-build
+  artifacts:
+    expire_in: 2 days
+    paths:
+      - build
+
+check-system-opensusetw:
+  <<: *native_test_job_definition
+  needs:
+    - job: build-system-opensusetw
+      artifacts: true
+  variables:
+    IMAGE: opensusetw
+    MAKE_CHECK_ARGS: check
+
+acceptance-system-opensusetw:
+  <<: *native_test_job_definition
+  needs:
+    - job: build-system-opensusetw
+      artifacts: true
+  variables:
+    IMAGE: opensusetw
+    MAKE_CHECK_ARGS: check-acceptance
+  <<: *acceptance_definition
+
+build-system-opensuse152:
+  <<: *native_build_job_definition
+  variables:
+    IMAGE: opensuse152
+    TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
+    MAKE_CHECK_ARGS: check-build
+  artifacts:
+    expire_in: 2 days
+    paths:
+      - build
+
+check-system-opensuse152:
+  <<: *native_test_job_definition
+  needs:
+    - job: build-system-opensuse152
+      artifacts: true
+  variables:
+    IMAGE: opensuse152
+    MAKE_CHECK_ARGS: check
+
+acceptance-system-opensuse152:
+  <<: *native_test_job_definition
+  needs:
+    - job: build-system-opensuse152
+      artifacts: true
+  variables:
+    IMAGE: opensuse152
+    MAKE_CHECK_ARGS: check-acceptance
+  <<: *acceptance_definition
+
 build-disabled:
   <<: *native_build_job_definition
   variables:
diff --git a/tests/docker/dockerfiles/opensuse152.docker b/tests/docker/dockerfiles/opensuse152.docker
new file mode 100644
index 0000000000..712eb4fe3a
--- /dev/null
+++ b/tests/docker/dockerfiles/opensuse152.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
diff --git a/tests/docker/dockerfiles/opensusetw.docker b/tests/docker/dockerfiles/opensusetw.docker
new file mode 100644
index 0000000000..21edd8039a
--- /dev/null
+++ b/tests/docker/dockerfiles/opensusetw.docker
@@ -0,0 +1,89 @@
+FROM opensuse/tumbleweed
+
+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 \
+    diffutils \
+    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-binutils \
+    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 \
+    python38-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
-- 
2.29.1


Re: [PATCH] gitlab-ci.yml: Add openSUSE Tumbleweed and Leap for gitlab CI/CD
Posted by Alex Bennée 3 years, 5 months ago
Yu-Chen, Cho <acho@suse.com> writes:

> Add build-system-opensusetw and build-system-opensuse152 jobs and
> add opensuse152.docker and opensusetw.docker dockerfile.
> Use openSUSE Tumbleweed and openSUSE Leap 15.2 container image in the
> gitlab-CI.
>
> Signed-off-by: Yu-Chen, Cho <acho@suse.com>

Hi,

Could you split the TW and the Leap patches please as they are adding
distinct things.

I'm not super familiar with openSUSE LEAP but I assume this is in the
same category of short lived "tip" distros as Fedora and non LTS Ubuntu?
In which case we should name it as such (opensuse-leap?) as we will tick
the build version each time a new version comes out.

I'm less sure about Tumbleweed because I don't think we make any
commitment to support rolling distros. We don't have Gentoo, Arch or
Debian Testing* in our dockerfiles either. I would expect rolling
distros to track the upstream build themselves.

* Debian 11 (next stable is there purely for compiling test cases)

> ---
>  .gitlab-ci.d/containers.yml                 | 10 +++
>  .gitlab-ci.yml                              | 60 ++++++++++++++
>  tests/docker/dockerfiles/opensuse152.docker | 88 ++++++++++++++++++++
>  tests/docker/dockerfiles/opensusetw.docker  | 89 +++++++++++++++++++++
>  4 files changed, 247 insertions(+)
>  create mode 100644 tests/docker/dockerfiles/opensuse152.docker
>  create mode 100644 tests/docker/dockerfiles/opensusetw.docker
>
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 11d079ea58..449a00de70 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -48,6 +48,16 @@ amd64-debian11-container:
>    variables:
>      NAME: debian11
>  
> +amd64-opensuseTW-container:
> +  <<: *container_job_definition
> +  variables:
> +    NAME: opensusetw
> +
> +amd64-opensuse152-container:
> +  <<: *container_job_definition
> +  variables:
> +    NAME: opensuse152
> +
>  alpha-debian-cross-container:
>    <<: *container_job_definition
>    stage: containers-layer2
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 9a8b375188..540a700596 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -195,6 +195,66 @@ acceptance-system-centos:
>      MAKE_CHECK_ARGS: check-acceptance
>    <<: *acceptance_definition
>  
<snip>
> +
> +build-system-opensuse152:
> +  <<: *native_build_job_definition
> +  variables:
> +    IMAGE: opensuse152
> +    TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
> +    MAKE_CHECK_ARGS: check-build
> +  artifacts:
> +    expire_in: 2 days
> +    paths:
> +      - build
> +
> +check-system-opensuse152:
> +  <<: *native_test_job_definition
> +  needs:
> +    - job: build-system-opensuse152
> +      artifacts: true
> +  variables:
> +    IMAGE: opensuse152
> +    MAKE_CHECK_ARGS: check
> +
> +acceptance-system-opensuse152:
> +  <<: *native_test_job_definition
> +  needs:
> +    - job: build-system-opensuse152
> +      artifacts: true
> +  variables:
> +    IMAGE: opensuse152
> +    MAKE_CHECK_ARGS: check-acceptance
> +  <<: *acceptance_definition
> +

What's the thinking about this selection of TARGETS and tests? We've
tried to spread the various configure, TARGETS and CHECK combinations
across all the distros to avoid too much repetition of what is mostly
the same code being tested.

-- 
Alex Bennée

Re: [PATCH] gitlab-ci.yml: Add openSUSE Tumbleweed and Leap for gitlab CI/CD
Posted by AL Yu-Chen Cho 3 years, 5 months ago
Hi,

On Mon, 2020-11-16 at 12:19 +0000, Alex Bennée wrote:
> Yu-Chen, Cho <acho@suse.com> writes:
> 
> > Add build-system-opensusetw and build-system-opensuse152 jobs and
> > add opensuse152.docker and opensusetw.docker dockerfile.
> > Use openSUSE Tumbleweed and openSUSE Leap 15.2 container image in
> > the
> > gitlab-CI.
> > 
> > Signed-off-by: Yu-Chen, Cho <acho@suse.com>
> 
> Hi,
> 
> Could you split the TW and the Leap patches please as they are adding
> distinct things.
> 

ok, no problem, I will send it again only for openSUSE Leap.

> I'm not super familiar with openSUSE LEAP but I assume this is in the
> same category of short lived "tip" distros as Fedora and non LTS
> Ubuntu?
> In which case we should name it as such (opensuse-leap?) as we will
> tick
> the build version each time a new version comes out.
> 
> I'm less sure about Tumbleweed because I don't think we make any
> commitment to support rolling distros. We don't have Gentoo, Arch or
> Debian Testing* in our dockerfiles either. I would expect rolling
> distros to track the upstream build themselves.
> 

Yes, I got it, thanks for your suggestion.

Cheers,
      AL


> * Debian 11 (next stable is there purely for compiling test cases)
> 
> > ---
> >  .gitlab-ci.d/containers.yml                 | 10 +++
> >  .gitlab-ci.yml                              | 60 ++++++++++++++
> >  tests/docker/dockerfiles/opensuse152.docker | 88
> > ++++++++++++++++++++
> >  tests/docker/dockerfiles/opensusetw.docker  | 89
> > +++++++++++++++++++++
> >  4 files changed, 247 insertions(+)
> >  create mode 100644 tests/docker/dockerfiles/opensuse152.docker
> >  create mode 100644 tests/docker/dockerfiles/opensusetw.docker
> > 
> > diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-
> > ci.d/containers.yml
> > index 11d079ea58..449a00de70 100644
> > --- a/.gitlab-ci.d/containers.yml
> > +++ b/.gitlab-ci.d/containers.yml
> > @@ -48,6 +48,16 @@ amd64-debian11-container:
> >    variables:
> >      NAME: debian11
> >  
> > +amd64-opensuseTW-container:
> > +  <<: *container_job_definition
> > +  variables:
> > +    NAME: opensusetw
> > +
> > +amd64-opensuse152-container:
> > +  <<: *container_job_definition
> > +  variables:
> > +    NAME: opensuse152
> > +
> >  alpha-debian-cross-container:
> >    <<: *container_job_definition
> >    stage: containers-layer2
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 9a8b375188..540a700596 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -195,6 +195,66 @@ acceptance-system-centos:
> >      MAKE_CHECK_ARGS: check-acceptance
> >    <<: *acceptance_definition
> >  
> <snip>
> > +
> > +build-system-opensuse152:
> > +  <<: *native_build_job_definition
> > +  variables:
> > +    IMAGE: opensuse152
> > +    TARGETS: s390x-softmmu x86_64-softmmu aarch64-softmmu
> > +    MAKE_CHECK_ARGS: check-build
> > +  artifacts:
> > +    expire_in: 2 days
> > +    paths:
> > +      - build
> > +
> > +check-system-opensuse152:
> > +  <<: *native_test_job_definition
> > +  needs:
> > +    - job: build-system-opensuse152
> > +      artifacts: true
> > +  variables:
> > +    IMAGE: opensuse152
> > +    MAKE_CHECK_ARGS: check
> > +
> > +acceptance-system-opensuse152:
> > +  <<: *native_test_job_definition
> > +  needs:
> > +    - job: build-system-opensuse152
> > +      artifacts: true
> > +  variables:
> > +    IMAGE: opensuse152
> > +    MAKE_CHECK_ARGS: check-acceptance
> > +  <<: *acceptance_definition
> > +
> 
> What's the thinking about this selection of TARGETS and tests? We've
> tried to spread the various configure, TARGETS and CHECK combinations
> across all the distros to avoid too much repetition of what is mostly
> the same code being tested.
> 


[PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Cho, Yu-Chen 3 years, 5 months ago
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
-- 
2.29.2


Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Thomas Huth 3 years, 5 months ago
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?

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


Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by AL Yu-Chen Cho 3 years, 5 months ago
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



Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Alex Bennée 3 years, 5 months ago
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

Re: [PATCH] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Daniel P. Berrangé 3 years, 5 months ago
On Thu, Nov 19, 2020 at 03:37:50PM +0800, AL Yu-Chen Cho wrote:
> 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.

We already have cross compiler testing with the Fedora (mingw) and Debian
images (non-x86 linux). I don't think we want to add more cross compiler
stuff if it just duplicating coverage we already haev.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


[PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Cho, Yu-Chen 3 years, 5 months ago
v2:
Drop some package from dockerfile to make docker image more light.

v1:
Add build-system-opensuse jobs and 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 | 54 +++++++++++++++++++
 3 files changed, 89 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 892ca8d838..910754a699 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 d0173e82b1..6a256fe07b 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..8b0d915bff
--- /dev/null
+++ b/tests/docker/dockerfiles/opensuse-leap.docker
@@ -0,0 +1,54 @@
+FROM opensuse/leap:15.2
+
+# Please keep this list sorted alphabetically
+ENV PACKAGES \
+    bc \
+    brlapi-devel \
+    bzip2 \
+    cyrus-sasl-devel \
+    gcc \
+    gcc-c++ \
+    mkisofs \
+    gettext-runtime \
+    git \
+    glib2-devel \
+    glusterfs-devel \
+    libgnutls-devel \
+    gtk3-devel \
+    libaio-devel \
+    libattr-devel \
+    libcap-ng-devel \
+    libepoxy-devel \
+    libfdt-devel \
+    libiscsi-devel \
+    libjpeg8-devel \
+    libpmem-devel \
+    libpng16-devel \
+    librbd-devel \
+    libseccomp-devel \
+    libssh-devel \
+    lzo-devel \
+    make \
+    libSDL2_image-devel \
+    ncurses-devel \
+    ninja \
+    libnuma-devel \
+    perl \
+    libpixman-1-0-devel \
+    python3-base \
+    python3-virtualenv \
+    rdma-core-devel \
+    libSDL2-devel \
+    snappy-devel \
+    libspice-server-devel \
+    systemd-devel \
+    systemtap-sdt-devel \
+    usbredir-devel \
+    virglrenderer-devel \
+    xen-devel \
+    vte-devel \
+    zlib-devel
+ENV QEMU_CONFIGURE_OPTS --python=/usr/bin/python3.8
+
+RUN zypper update -y && zypper --non-interactive install -y $PACKAGES
+RUN rpm -q $PACKAGES | sort > /packages.txt
-- 
2.29.2


Re: [PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Thomas Huth 3 years, 4 months ago
On 24/11/2020 10.45, Cho, Yu-Chen wrote:
> v2:
> Drop some package from dockerfile to make docker image more light.
> 
> v1:
> Add build-system-opensuse jobs and 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 | 54 +++++++++++++++++++
>  3 files changed, 89 insertions(+)
>  create mode 100644 tests/docker/dockerfiles/opensuse-leap.docker

 Hi!

While trying to pick up your patch, I noticed that it is failing now in the
gitlab-CI:

 https://gitlab.com/huth/qemu/-/jobs/896384459

Could you please have a look and send a fixed v3?

 Thanks,
  Thomas


Re: [PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by AL Yu-Chen Cho 3 years, 4 months ago
On Tue, 2020-12-08 at 07:55 +0100, Thomas Huth wrote:
> On 24/11/2020 10.45, Cho, Yu-Chen wrote:
> > v2:
> > Drop some package from dockerfile to make docker image more light.
> > 
> > v1:
> > Add build-system-opensuse jobs and 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 | 54
> > +++++++++++++++++++
> >  3 files changed, 89 insertions(+)
> >  create mode 100644 tests/docker/dockerfiles/opensuse-leap.docker
> 
>  Hi!
> 
> While trying to pick up your patch, I noticed that it is failing now
> in the
> gitlab-CI:
> 
>  https://gitlab.com/huth/qemu/-/jobs/896384459
> 
> Could you please have a look and send a fixed v3?
> 

No problem, will submit v3 soon.

Cheers,
      AL

>  Thanks,
>   Thomas
> 



Re: [PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by AL Yu-Chen Cho via 3 years, 4 months ago
Hi Thomas,

I try to reproduce this failed in my repo, but it seems works fine.
Would you please give it a try again? I think you maybe just hit a bad
point in time...

Cheers,
      AL

On Tue, 2020-12-08 at 07:55 +0100, Thomas Huth wrote:
> On 24/11/2020 10.45, Cho, Yu-Chen wrote:
> > v2:
> > Drop some package from dockerfile to make docker image more light.
> > 
> > v1:
> > Add build-system-opensuse jobs and 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 | 54
> > +++++++++++++++++++
> >  3 files changed, 89 insertions(+)
> >  create mode 100644 tests/docker/dockerfiles/opensuse-leap.docker
> 
>  Hi!
> 
> While trying to pick up your patch, I noticed that it is failing now
> in the
> gitlab-CI:
> 
>  https://gitlab.com/huth/qemu/-/jobs/896384459
> 
> Could you please have a look and send a fixed v3?
> 
>  Thanks,
>   Thomas
> 



Re: [PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Thomas Huth 3 years, 4 months ago
On 10/12/2020 10.32, AL Yu-Chen Cho wrote:
> Hi Thomas,
> 
> I try to reproduce this failed in my repo, but it seems works fine.
> Would you please give it a try again? I think you maybe just hit a bad
> point in time...

I just re-tried, but it still fails for me:

 https://gitlab.com/huth/qemu/-/jobs/905376471

Did you also rebase your branch to the latest master version?

 Thomas


Re: [PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Thomas Huth 3 years, 4 months ago
On 11/12/2020 14.09, Thomas Huth wrote:
> On 10/12/2020 10.32, AL Yu-Chen Cho wrote:
>> Hi Thomas,
>>
>> I try to reproduce this failed in my repo, but it seems works fine.
>> Would you please give it a try again? I think you maybe just hit a bad
>> point in time...
> 
> I just re-tried, but it still fails for me:
> 
>  https://gitlab.com/huth/qemu/-/jobs/905376471
> 
> Did you also rebase your branch to the latest master version?

I just gave it yet another try to really rule out that it was not a
temporary problem, but the "acceptance" job still fails for me:

https://gitlab.com/huth/qemu/-/jobs/920543768

Would it make sense to drop the "acceptance-system-opensuse" job part of the
patch for now to get at least the basic compile-coverage in?

 Thomas


Re: [PATCH v2] gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD
Posted by Cho Yu-Chen 3 years, 4 months ago
Hi Thomas,

Sorry for late reply,

Thomas Huth <thuth@redhat.com> 於 2020年12月18日 週五 下午7:14寫道:
>
> On 11/12/2020 14.09, Thomas Huth wrote:
> > On 10/12/2020 10.32, AL Yu-Chen Cho wrote:
> >> Hi Thomas,
> >>
> >> I try to reproduce this failed in my repo, but it seems works fine.
> >> Would you please give it a try again? I think you maybe just hit a bad
> >> point in time...
> >
> > I just re-tried, but it still fails for me:
> >
> >  https://gitlab.com/huth/qemu/-/jobs/905376471
> >
> > Did you also rebase your branch to the latest master version?
>
> I just gave it yet another try to really rule out that it was not a
> temporary problem, but the "acceptance" job still fails for me:
>
> https://gitlab.com/huth/qemu/-/jobs/920543768
>
> Would it make sense to drop the "acceptance-system-opensuse" job part of the
> patch for now to get at least the basic compile-coverage in?
>

Yes,  I tried to fix the "acceptance-system-opensuse" error but still
got weird error in:
VENV /builds/huth/qemu/build/tests/venv
57Error: Command '['/builds/huth/qemu/build/tests/venv/bin/python3',
'-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero
exit status 1.

So I will submit the v3 to drop it for now, thanks a lot.

Cheers,
            AL


>  Thomas
>
>