From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>
Cc: Yonggang Luo <luoyonggang@gmail.com>
Subject: [PULL 10/14] gitlab-ci: Add cross-compiling build tests
Date: Mon, 7 Sep 2020 14:11:23 +0200 [thread overview]
Message-ID: <20200907121127.136243-11-thuth@redhat.com> (raw)
In-Reply-To: <20200907121127.136243-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.
Message-Id: <20200823111757.72002-8-thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
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 ff959e4e03..d677e00933 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 b233da2a73..7d0a5e91e4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3071,6 +3071,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-09-07 12:17 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-07 12:11 [PULL 00/14] Gitlab-CI improvements and related fixes Thomas Huth
2020-09-07 12:11 ` [PULL 01/14] tests/docker: add python3-setuptools the docker images Thomas Huth
2020-09-07 12:11 ` [PULL 02/14] tests: handling signal on win32 properly Thomas Huth
2020-09-07 12:11 ` [PULL 03/14] tests: fixes test-vmstate.c compile error on msys2 Thomas Huth
2020-09-07 12:11 ` [PULL 04/14] tests: Fixes building test-util-filemonitor.c on msys2/mingw Thomas Huth
2020-09-07 12:11 ` [PULL 05/14] tests/Makefile: test-image-locking needs CONFIG_POSIX Thomas Huth
2020-09-07 12:11 ` [PULL 06/14] dockerfiles/debian-win64-cross: Download WHPX MinGW headers Thomas Huth
2020-09-07 12:11 ` [PULL 07/14] configure: Allow automatic WHPX detection Thomas Huth
2020-09-07 12:11 ` [PULL 08/14] stubs: Move qemu_timer_notify_cb() and remove qemu_notify_event() stub Thomas Huth
2020-09-07 12:11 ` [PULL 09/14] stubs: Move qemu_fd_register stub to util/main-loop.c Thomas Huth
2020-09-07 12:11 ` Thomas Huth [this message]
2020-09-07 12:11 ` [PULL 11/14] crypto: fix build with gcrypt enabled Thomas Huth
2020-09-07 12:11 ` [PULL 12/14] gitlab: expand test coverage for crypto builds Thomas Huth
2020-09-07 12:11 ` [PULL 13/14] tests/qtest: do not list ahci-test twice Thomas Huth
2020-09-07 12:11 ` [PULL 14/14] target/microblaze: Collected fixes for env->iflags Thomas Huth
2020-09-07 17:52 ` [PULL 00/14] Gitlab-CI improvements and related fixes 罗勇刚(Yonggang Luo)
2020-09-07 18:26 ` Peter Maydell
2020-09-07 18:31 ` 罗勇刚(Yonggang Luo)
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=20200907121127.136243-11-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=luoyonggang@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/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.