[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
On Fri, Jun 07, 2019 at 01:17:51PM +0200, Roger Pau Monné wrote: > 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 Include the following here: && apt-get autoremove -y && apt-get-clean && rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* This helps minimize the size of the containers between steps. Each top level command is an intermediary container. > > + > > +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 Include the following here: && apt-get autoremove -y && apt-get-clean && rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/* This helps minimize the size of the containers between steps. Each top level command is an intermediary container. > > + > > +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) > > Overall this a good change. With the two small tweaks and the containers pushed I'd give it my: Acked-by: Doug Goldstein <cardoe@xxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |