From: Stefano Stabellini Date: Thu, 15 Apr 2021 01:11:33 +0000 (-0700) Subject: automation: add arm32 cross-build tests for Xen X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~661 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=aaa3eafb3ba8b544d19ca41cda1477640b22b8fc;p=xen.git automation: add arm32 cross-build tests for Xen Add a debian build container with cross-gcc for arm32 installed. Add build jobs to cross-compile Xen-only for arm32. Signed-off-by: Stefano Stabellini Acked-by: Wei Liu Acked-by: Andrew Cooper --- diff --git a/automation/build/debian/unstable-arm32-gcc.dockerfile b/automation/build/debian/unstable-arm32-gcc.dockerfile new file mode 100644 index 0000000000..b41a57f197 --- /dev/null +++ b/automation/build/debian/unstable-arm32-gcc.dockerfile @@ -0,0 +1,24 @@ +FROM debian:unstable +LABEL maintainer.name="The Xen Project" \ + maintainer.email="xen-devel@lists.xenproject.org" + +ENV DEBIAN_FRONTEND=noninteractive +ENV USER root +ENV CROSS_COMPILE /usr/bin/arm-linux-gnueabihf- + +RUN mkdir /build +WORKDIR /build + +# build depends +RUN apt-get update && \ + apt-get --quiet --yes install \ + build-essential \ + flex \ + bison \ + git \ + gcc-arm-linux-gnueabihf \ + && \ + apt-get autoremove -y && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* + diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index cca2c310e2..57bf2c7f80 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -117,6 +117,33 @@ variables: <<: *clang +.arm32-cross-build-tmpl: + <<: *build + variables: + XEN_TARGET_ARCH: arm32 + tags: + - x86_64 + +.arm32-cross-build: + extends: .arm32-cross-build-tmpl + variables: + debug: n + +.arm32-cross-build-debug: + extends: .arm32-cross-build-tmpl + variables: + debug: y + +.gcc-arm32-cross-build: + extends: .arm32-cross-build + variables: + <<: *gcc + +.gcc-arm32-cross-build-debug: + extends: .arm32-cross-build-debug + variables: + <<: *gcc + .arm64-build-tmpl: <<: *build variables: @@ -450,6 +477,29 @@ alpine-3.12-clang-debug: variables: CONTAINER: alpine:3.12 +# Arm32 cross-build + +debian-unstable-gcc-arm32: + extends: .gcc-arm32-cross-build + variables: + CONTAINER: debian:unstable-arm32-gcc + +debian-unstable-gcc-arm32-debug: + extends: .gcc-arm32-cross-build-debug + variables: + CONTAINER: debian:unstable-arm32-gcc + +debian-unstable-gcc-arm32-randconfig: + extends: .gcc-arm32-cross-build + variables: + CONTAINER: debian:unstable-arm32-gcc + RANDCONFIG: y + +debian-unstable-gcc-arm32-debug-randconfig: + extends: .gcc-arm32-cross-build-debug + variables: + CONTAINER: debian:unstable-arm32-gcc + RANDCONFIG: y # Arm builds diff --git a/automation/scripts/build b/automation/scripts/build index 1b752edfe6..eaf70b11d1 100755 --- a/automation/scripts/build +++ b/automation/scripts/build @@ -16,6 +16,11 @@ else make -j$(nproc) -C xen defconfig fi +# arm32 only cross-compiles the hypervisor +if [[ "${XEN_TARGET_ARCH}" = "arm32" ]]; then + hypervisor_only="y" +fi + # build up our configure options cfgargs=() cfgargs+=("--enable-docs")