diff mbox series

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

Message ID 20201116113046.11362-1-acho@suse.com
State New
Headers show
Series gitlab-ci.yml: Add openSUSE Tumbleweed and Leap for gitlab CI/CD | expand

Commit Message

Al Cho Nov. 16, 2020, 11:30 a.m. UTC
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

Comments

Alex Bennée Nov. 16, 2020, 12:19 p.m. UTC | #1
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.
Al Cho Nov. 17, 2020, 6:19 a.m. UTC | #2
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.
>
diff mbox series

Patch

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