xemu/.gitlab-ci.d/crossbuilds.yml
Philippe Mathieu-Daudé 0cdd3b0aa4 gitlab-ci: Introduce 'cross_accel_build_job' template
Introduce a job template to cross-build accelerator specific
jobs (enable a specific accelerator, disabling the others).

The specific accelerator is selected by the $ACCEL environment
variable (default to KVM).

Extra options such disabling other accelerators are passed
via the $ACCEL_CONFIGURE_OPTS environment variable.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201207131503.3858889-4-philmd@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-12-09 08:04:34 +01:00

132 lines
3.1 KiB
YAML

.cross_system_build_job:
stage: build
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
timeout: 80m
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
# Job to cross-build specific accelerators.
#
# Set the $ACCEL variable to select the specific accelerator (default to
# KVM), and set extra options (such disabling other accelerators) via the
# $ACCEL_CONFIGURE_OPTS variable.
.cross_accel_build_job:
stage: build
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
timeout: 30m
script:
- mkdir build
- cd build
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH
../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-tools
--enable-${ACCEL:-kvm} $ACCEL_CONFIGURE_OPTS
- make -j$(expr $(nproc) + 1) all check-build
.cross_user_build_job:
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:
extends: .cross_system_build_job
variables:
IMAGE: debian-armel-cross
cross-armel-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-armel-cross
cross-armhf-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-armhf-cross
cross-armhf-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-armhf-cross
cross-arm64-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-arm64-cross
cross-arm64-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-arm64-cross
cross-mips-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-mips-cross
cross-mips-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-mips-cross
cross-mipsel-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-mipsel-cross
cross-mipsel-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-mipsel-cross
cross-mips64el-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-mips64el-cross
cross-mips64el-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-mips64el-cross
cross-ppc64el-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-ppc64el-cross
cross-ppc64el-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-ppc64el-cross
cross-s390x-system:
extends: .cross_system_build_job
variables:
IMAGE: debian-s390x-cross
cross-s390x-user:
extends: .cross_user_build_job
variables:
IMAGE: debian-s390x-cross
cross-win32-system:
extends: .cross_system_build_job
variables:
IMAGE: fedora-win32-cross
cross-win64-system:
extends: .cross_system_build_job
variables:
IMAGE: fedora-win64-cross