[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] automation: add arm32 cross-build tests for Xen
On Fri, Feb 12, 2021 at 05:38:13PM -0800, Stefano Stabellini wrote: > 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 <stefano.stabellini@xxxxxxxxxx> Acked-by: Wei Liu <wl@xxxxxxx> Cc Ian. The risk is small: Gitlab CI doesn't gate pushes to Xen, but it is rather beneficial to have arm32 builds for Xen. > --- > .../debian/unstable-arm32-gcc.dockerfile | 24 +++++++++ > automation/gitlab-ci/build.yaml | 50 +++++++++++++++++++ > automation/scripts/build | 9 ++++ > 3 files changed, 83 insertions(+) > create mode 100644 automation/build/debian/unstable-arm32-gcc.dockerfile > > 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@xxxxxxxxxxxxxxxxxxxx" > + > +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 d00b8a5123..22114662f2 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: > @@ -454,6 +481,29 @@ alpine-3.12-clang-debug: > CONTAINER: alpine:3.12 > allow_failure: true > > +# 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 d8990c3bf4..e7d68f7a9d 100755 > --- a/automation/scripts/build > +++ b/automation/scripts/build > @@ -15,6 +15,15 @@ else > make -j$(nproc) -C xen defconfig > fi > > +# arm32 only cross-compiles the hypervisor > +if [[ "${XEN_TARGET_ARCH}" = "arm32" ]]; then > + make -j$(nproc) xen > + cp xen/.config xen-config > + mkdir binaries > + cp xen/xen binaries/xen > + exit 0 > +fi > + > # build up our configure options > cfgargs=() > cfgargs+=("--enable-docs") > -- > 2.17.1 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |