Message ID | 20201117065719.30150-1-acho@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gitlab-ci.yml: Add openSUSE Leap 15.2 for gitlab CI/CD | expand |
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
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
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
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.
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
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