[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] automation: add clang and lld 8 tests to gitlab


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Fri, 7 Jun 2019 13:17:51 +0200
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@xxxxxxxxxx; spf=SoftFail smtp.mailfrom=roger.pau@xxxxxxxxxx; spf=None smtp.helo=postmaster@xxxxxxxxxxxxxxx
  • Cc: Doug Goldstein <cardoe@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Fri, 07 Jun 2019 11:18:25 +0000
  • Ironport-sdr: 1AQbwlT+6eiaA86OUufwfW8vmsjSlGnBRDFM5AU6bUFkY84qqo0V8Fw5wxzPzFcnpVqccflkiV mJFad4aFAbnKqIX0je0XqM+LH5K0YLef0fuZrNwLLb+4AiwQ5FtvI8bhFuFjfHJ/FhMZvnNtTo 7sv34Cx8OMkjO5o36UiK72ljRGU5CEmc0MbzUyKPqCqDWxU32E5JSzhzVPuYLX+WUUdvt/FFpV 4CbHTOrEEmuamy9ismdfL+vdkWbC/n5zKXQqBgNWbRMwkL/yRmqnZBvgadzZCSK+p8psb/jS8+ glI=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Gentle ping.

On Fri, May 31, 2019 at 10:17:13AM +0200, Roger Pau Monne wrote:
> Using clang and lld 8 requires installing the packages from the
> official llvm apt repositories, so modify the Debian Docker files for
> stretch and unstable to add the llvm repo and install clang and lld
> from it.
> 
> Also add some jobs to test building Xen with clang 8 and lld.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
> ---
> I've tested this manually by doing:
> 
> # make -C automation/build debian/stretch
> # CONTAINER_NO_PULL=1 ./automation/scripts/containerize << END
> ./configure --with-system-seabios=/usr/share/seabios/bios.bin \
>             --with-system-ipxe=/usr/lib/ipxe/ipxe.pxe --disable-stubdom
> make -j8 dist CC=clang-8 CXX=clang-8 LD=ld.lld-8 clang=y
> END
> ---
> Cc: Doug Goldstein <cardoe@xxxxxxxxxx>
> Cc: Wei Liu <wl@xxxxxxx>
> ---
> Changes since v1:
>  - Use ld.lld-8 instead of lld-8, as that's the recommended way
>    reported by lld-8.
> ---
>  automation/build/debian/stretch-llvm.list   |  3 ++
>  automation/build/debian/stretch.dockerfile  | 11 +++++-
>  automation/build/debian/unstable-llvm.list  |  3 ++
>  automation/build/debian/unstable.dockerfile | 11 +++++-
>  automation/gitlab-ci/build.yaml             | 37 +++++++++++++++++++++
>  automation/scripts/build                    |  2 +-
>  6 files changed, 64 insertions(+), 3 deletions(-)
>  create mode 100644 automation/build/debian/stretch-llvm.list
>  create mode 100644 automation/build/debian/unstable-llvm.list
> 
> diff --git a/automation/build/debian/stretch-llvm.list 
> b/automation/build/debian/stretch-llvm.list
> new file mode 100644
> index 0000000000..09fe843fb2
> --- /dev/null
> +++ b/automation/build/debian/stretch-llvm.list
> @@ -0,0 +1,3 @@
> +# Strech LLVM 8 repos
> +deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
> +deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
> diff --git a/automation/build/debian/stretch.dockerfile 
> b/automation/build/debian/stretch.dockerfile
> index daf8c9d384..189dff3275 100644
> --- a/automation/build/debian/stretch.dockerfile
> +++ b/automation/build/debian/stretch.dockerfile
> @@ -5,6 +5,14 @@ LABEL maintainer.name="The Xen Project" \
>  ENV DEBIAN_FRONTEND=noninteractive
>  ENV USER root
>  
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +    wget \
> +    gnupg
> +
> +RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|apt-key add -
> +COPY stretch-llvm.list /etc/apt/sources.list.d/
> +
>  RUN mkdir /build
>  WORKDIR /build
>  
> @@ -39,9 +47,10 @@ RUN apt-get update && \
>          transfig \
>          pandoc \
>          checkpolicy \
> -        wget \
>          git \
>          nasm \
> +        clang-8 \
> +        lld-8 \
>          && \
>          apt-get autoremove -y && \
>          apt-get clean && \
> diff --git a/automation/build/debian/unstable-llvm.list 
> b/automation/build/debian/unstable-llvm.list
> new file mode 100644
> index 0000000000..dc119fa0b4
> --- /dev/null
> +++ b/automation/build/debian/unstable-llvm.list
> @@ -0,0 +1,3 @@
> +# Unstable LLVM 8 repos
> +deb http://apt.llvm.org/unstable/ llvm-toolchain-8 main
> +deb-src http://apt.llvm.org/unstable/ llvm-toolchain-8 main
> diff --git a/automation/build/debian/unstable.dockerfile 
> b/automation/build/debian/unstable.dockerfile
> index 7762cf97ab..48d5f7a863 100644
> --- a/automation/build/debian/unstable.dockerfile
> +++ b/automation/build/debian/unstable.dockerfile
> @@ -5,6 +5,14 @@ LABEL maintainer.name="The Xen Project" \
>  ENV DEBIAN_FRONTEND=noninteractive
>  ENV USER root
>  
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +    wget \
> +    gnupg
> +
> +RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|apt-key add -
> +COPY unstable-llvm.list /etc/apt/sources.list.d/
> +
>  RUN mkdir /build
>  WORKDIR /build
>  
> @@ -39,9 +47,10 @@ RUN apt-get update && \
>          transfig \
>          pandoc \
>          checkpolicy \
> -        wget \
>          git \
>          nasm \
> +        clang-8 \
> +        lld-8 \
>          && \
>          apt-get autoremove -y && \
>          apt-get clean && \
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index dd5722a5bb..17de3b1848 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -26,6 +26,13 @@
>      CXX: clang++
>      clang: y
>  
> +.clang-8-tmpl:
> +  variables: &clang-8
> +    CC: clang-8
> +    CXX: clang++-8
> +    LD: ld.lld-8
> +    clang: y
> +
>  .x86-64-build-tmpl:
>    <<: *build
>    variables:
> @@ -90,6 +97,16 @@
>    variables:
>      <<: *clang
>  
> +.clang-8-x86-64-build:
> +  extends: .x86-64-build
> +  variables:
> +    <<: *clang-8
> +
> +.clang-8-x86-64-build-debug:
> +  extends: .x86-64-build-debug
> +  variables:
> +    <<: *clang-8
> +
>  .clang-x86-32-build:
>    extends: .x86-32-build
>    variables:
> @@ -219,6 +236,16 @@ debian-stretch-clang-debug:
>    variables:
>      CONTAINER: debian:stretch
>  
> +debian-stretch-clang-8:
> +  extends: .clang-8-x86-64-build
> +  variables:
> +    CONTAINER: debian:stretch
> +
> +debian-stretch-clang-8-debug:
> +  extends: .clang-8-x86-64-build-debug
> +  variables:
> +    CONTAINER: debian:stretch
> +
>  debian-stretch-gcc:
>    extends: .gcc-x86-64-build
>    variables:
> @@ -259,6 +286,16 @@ debian-unstable-clang-debug:
>    variables:
>      CONTAINER: debian:unstable
>  
> +debian-unstable-clang-8:
> +  extends: .clang-8-x86-64-build
> +  variables:
> +    CONTAINER: debian:unstable
> +
> +debian-unstable-clang-8-debug:
> +  extends: .clang-8-x86-64-build-debug
> +  variables:
> +    CONTAINER: debian:unstable
> +
>  debian-unstable-gcc:
>    extends: .gcc-x86-64-build
>    variables:
> diff --git a/automation/scripts/build b/automation/scripts/build
> index 8a57e097a9..83c44e6ce7 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -19,7 +19,7 @@ fi
>  cfgargs=()
>  cfgargs+=("--enable-docs")
>  
> -if [[ "${CC}" == "clang" ]]; then
> +if [[ "${CC}" == "clang"* ]]; then
>      # SeaBIOS cannot be built with clang
>      cfgargs+=("--with-system-seabios=/usr/share/seabios/bios.bin")
>      # iPXE cannot be built with clang
> -- 
> 2.20.1 (Apple Git-117)
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.