* [PATCH] automation: add arm32 cross-build tests for Xen
@ 2021-02-13 1:38 Stefano Stabellini
2021-03-12 16:07 ` Wei Liu
2021-03-13 8:44 ` Roger Pau Monné
0 siblings, 2 replies; 3+ messages in thread
From: Stefano Stabellini @ 2021-02-13 1:38 UTC (permalink / raw)
To: cardoe; +Cc: andrew.cooper3, wl, xen-devel, sstabellini, Stefano Stabellini
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@xilinx.com>
---
.../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@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 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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] automation: add arm32 cross-build tests for Xen
2021-02-13 1:38 [PATCH] automation: add arm32 cross-build tests for Xen Stefano Stabellini
@ 2021-03-12 16:07 ` Wei Liu
2021-03-13 8:44 ` Roger Pau Monné
1 sibling, 0 replies; 3+ messages in thread
From: Wei Liu @ 2021-03-12 16:07 UTC (permalink / raw)
To: Stefano Stabellini
Cc: cardoe, andrew.cooper3, wl, xen-devel, Stefano Stabellini, Ian Jackson
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@xilinx.com>
Acked-by: Wei Liu <wl@xen.org>
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@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 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
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] automation: add arm32 cross-build tests for Xen
2021-02-13 1:38 [PATCH] automation: add arm32 cross-build tests for Xen Stefano Stabellini
2021-03-12 16:07 ` Wei Liu
@ 2021-03-13 8:44 ` Roger Pau Monné
1 sibling, 0 replies; 3+ messages in thread
From: Roger Pau Monné @ 2021-03-13 8:44 UTC (permalink / raw)
To: Stefano Stabellini
Cc: cardoe, andrew.cooper3, wl, xen-devel, Stefano Stabellini
On Fri, Feb 12, 2021 at 05:38:13PM -0800, Stefano Stabellini wrote:
> 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
You will have to rebase on top of 893103e286ac1c50 at which point you
have an option to do hypervisor only builds already (hypervisor_only).
Thanks, Roger.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-13 8:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-13 1:38 [PATCH] automation: add arm32 cross-build tests for Xen Stefano Stabellini
2021-03-12 16:07 ` Wei Liu
2021-03-13 8:44 ` Roger Pau Monné
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.