From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>
Cc: "Daniel P . Berrangé" <berrange@redhat.com>,
"Stefan Weil" <sw@weilnetz.de>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
luoyonggang@gmail.com, "Paolo Bonzini" <pbonzini@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: [PATCH v2 7/7] gitlab-ci: Add cross-compiling build tests
Date: Sun, 23 Aug 2020 13:17:57 +0200 [thread overview]
Message-ID: <20200823111757.72002-8-thuth@redhat.com> (raw)
In-Reply-To: <20200823111757.72002-1-thuth@redhat.com>
Now that we can use all our QEMU test containers in the gitlab-CI, we can
easily add some jobs that test cross-compilation for various architectures.
There is just only small ugliness: Since the shared runners on gitlab.com
are single-threaded, we have to split each compilation job into two parts
(--disable-user and --disable-system), and exclude some additional targets,
to avoid that the jobs are running too long and hitting the timeout of 1 h.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuilds.yml | 113 +++++++++++++++++++++++++++++++++++
.gitlab-ci.yml | 1 +
MAINTAINERS | 1 +
3 files changed, 115 insertions(+)
create mode 100644 .gitlab-ci.d/crossbuilds.yml
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
new file mode 100644
index 0000000000..4ec7226b5c
--- /dev/null
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -0,0 +1,113 @@
+
+.cross_system_build_job_template: &cross_system_build_job_definition
+ stage: build
+ image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+ script:
+ - mkdir build
+ - cd build
+ - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
+ ../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-user
+ --target-list-exclude="aarch64-softmmu i386-softmmu microblaze-softmmu
+ mips-softmmu mipsel-softmmu mips64-softmmu ppc64-softmmu sh4-softmmu
+ xtensa-softmmu"
+ - make -j$(expr $(nproc) + 1) all check-build
+
+.cross_user_build_job_template: &cross_user_build_job_definition
+ stage: build
+ image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+ script:
+ - mkdir build
+ - cd build
+ - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
+ ../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-system
+ - make -j$(expr $(nproc) + 1) all check-build
+
+cross-armel-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-armel-cross
+
+cross-armel-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-armel-cross
+
+cross-armhf-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-armhf-cross
+
+cross-armhf-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-armhf-cross
+
+cross-arm64-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-arm64-cross
+
+cross-arm64-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-arm64-cross
+
+cross-mips-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-mips-cross
+
+cross-mips-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-mips-cross
+
+cross-mipsel-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-mipsel-cross
+
+cross-mipsel-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-mipsel-cross
+
+cross-mips64el-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-mips64el-cross
+
+cross-mips64el-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-mips64el-cross
+
+cross-ppc64el-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-ppc64el-cross
+
+cross-ppc64el-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-ppc64el-cross
+
+cross-s390x-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-s390x-cross
+
+cross-s390x-user:
+ <<: *cross_user_build_job_definition
+ variables:
+ IMAGE: debian-s390x-cross
+
+cross-win32-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-win32-cross
+
+cross-win64-system:
+ <<: *cross_system_build_job_definition
+ variables:
+ IMAGE: debian-win64-cross
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b7967b9a13..8a4b67ecca 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,6 +18,7 @@ include:
- local: '/.gitlab-ci.d/edk2.yml'
- local: '/.gitlab-ci.d/opensbi.yml'
- local: '/.gitlab-ci.d/containers.yml'
+ - local: '/.gitlab-ci.d/crossbuilds.yml'
.native_build_job_template: &native_build_job_definition
stage: build
diff --git a/MAINTAINERS b/MAINTAINERS
index 0886eb3d2b..2731f7a594 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3067,6 +3067,7 @@ M: Alex Bennée <alex.bennee@linaro.org>
R: Wainer dos Santos Moschetta <wainersm@redhat.com>
S: Maintained
F: .gitlab-ci.yml
+F: .gitlab-ci.d/crossbuilds.yml
Guest Test Compilation Support
M: Alex Bennée <alex.bennee@linaro.org>
--
2.18.2
next prev parent reply other threads:[~2020-08-23 11:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-23 11:17 [PATCH v2 0/7] Run cross-compilation build tests in the gitlab-CI Thomas Huth
2020-08-23 11:17 ` [PATCH v2 1/7] configure: Add system = 'linux' for meson when cross-compiling Thomas Huth
2020-09-01 16:18 ` Daniel P. Berrangé
2020-08-23 11:17 ` [PATCH v2 2/7] tests/docker: Install python3-setuptools in the debian9-mxe containers Thomas Huth
2020-09-01 16:19 ` Daniel P. Berrangé
2020-08-23 11:17 ` [PATCH v2 3/7] tests/Makefile: test-image-locking needs CONFIG_POSIX Thomas Huth
2020-09-01 16:21 ` Daniel P. Berrangé
2020-08-23 11:17 ` [PATCH v2 4/7] tests/Makefile: test-replication " Thomas Huth
2020-09-01 16:22 ` Daniel P. Berrangé
2020-08-23 11:17 ` [PATCH v2 5/7] dockerfiles/debian-win64-cross: Download WHPX MinGW headers Thomas Huth
2020-09-01 16:25 ` Daniel P. Berrangé
2020-09-01 16:31 ` Thomas Huth
2020-08-23 11:17 ` [PATCH v2 6/7] configure: Allow automatic WHPX detection Thomas Huth
2020-09-01 16:25 ` Daniel P. Berrangé
2020-08-23 11:17 ` Thomas Huth [this message]
2020-09-01 16:27 ` [PATCH v2 7/7] gitlab-ci: Add cross-compiling build tests Daniel P. Berrangé
2020-09-01 16:36 ` Thomas Huth
2020-08-25 7:59 ` [PATCH v2 0/7] Run cross-compilation build tests in the gitlab-CI Paolo Bonzini
2020-09-01 16:29 ` Daniel P. Berrangé
2020-09-01 16:38 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200823111757.72002-8-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=luoyonggang@gmail.com \
--cc=pbonzini@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sw@weilnetz.de \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.