gitlab-ci: Add cross-compiling build tests
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>
This commit is contained in:
parent
8c2787629e
commit
6bcb5fc0f7
113
.gitlab-ci.d/crossbuilds.yml
Normal file
113
.gitlab-ci.d/crossbuilds.yml
Normal file
@ -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
|
@ -18,6 +18,7 @@ include:
|
|||||||
- local: '/.gitlab-ci.d/edk2.yml'
|
- local: '/.gitlab-ci.d/edk2.yml'
|
||||||
- local: '/.gitlab-ci.d/opensbi.yml'
|
- local: '/.gitlab-ci.d/opensbi.yml'
|
||||||
- local: '/.gitlab-ci.d/containers.yml'
|
- local: '/.gitlab-ci.d/containers.yml'
|
||||||
|
- local: '/.gitlab-ci.d/crossbuilds.yml'
|
||||||
|
|
||||||
.native_build_job_template: &native_build_job_definition
|
.native_build_job_template: &native_build_job_definition
|
||||||
stage: build
|
stage: build
|
||||||
|
@ -3071,6 +3071,7 @@ M: Alex Bennée <alex.bennee@linaro.org>
|
|||||||
R: Wainer dos Santos Moschetta <wainersm@redhat.com>
|
R: Wainer dos Santos Moschetta <wainersm@redhat.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: .gitlab-ci.yml
|
F: .gitlab-ci.yml
|
||||||
|
F: .gitlab-ci.d/crossbuilds.yml
|
||||||
|
|
||||||
Guest Test Compilation Support
|
Guest Test Compilation Support
|
||||||
M: Alex Bennée <alex.bennee@linaro.org>
|
M: Alex Bennée <alex.bennee@linaro.org>
|
||||||
|
Loading…
Reference in New Issue
Block a user