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

Re: [Xen-devel] [PATCH] travis: enable building of the tools



On 25/04/16 15:46, Doug Goldstein wrote:
> For native (non-cross compiles) we now only require bcc, ld86, as86 for
> building rombios, we can build the toolstack sans rombios and using the
> system SeaBIOS due to known build issues. At the same time capture the
> output of the configure scripts to help with tracking down future build
> issues. This does not enable building of the toolstack with clang for
> now due to multiple failures.
>
> Signed-off-by: Doug Goldstein <cardoe@xxxxxxxxxx>

Looking at the results of
https://travis-ci.org/cardoe/xen/builds/125166028 , this is definitely a
good improvement.

Acked-by: Andrew Cooper<andrew.cooper3@xxxxxxxxxx>

> ---
>  .travis.yml          |  8 ++++----
>  scripts/travis-build | 31 +++++++++++++++++++++++++++++++
>  2 files changed, 35 insertions(+), 4 deletions(-)
>  create mode 100755 scripts/travis-build
>
> diff --git a/.travis.yml b/.travis.yml
> index 741a8ab..0eea94e 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -75,18 +75,18 @@ addons:
>              - gcc-5
>              - g++-5
>              - clang-3.8
> +            - seabios
>  # we must set CXX manually instead of using 'language: cpp' due to
>  # travis-ci/travis-ci#3871
>  before_script:
>      - export CXX=${CC/cc/++}
>      - export CXX=${CXX/clang/clang++}
>  script:
> -    - ( [ "x${RANDCONFIG}" = "xy" ] && ( make -C xen randconfig )
> -      || exit 0 )
> -    - ( ./configure --disable-tools --disable-stubdom --enable-docs &&
> -      make dist )
> +    - ./scripts/travis-build
>  after_script:
>      - cat xen/.config
> +    - cat tools/config.log
> +    - cat docs/config.log
>  notifications:
>      irc:
>          channels:
> diff --git a/scripts/travis-build b/scripts/travis-build
> new file mode 100755
> index 0000000..b553f20
> --- /dev/null
> +++ b/scripts/travis-build
> @@ -0,0 +1,31 @@
> +#!/bin/bash -ex
> +
> +# random config or default config
> +if [[ "${RANDCONFIG}" == "y" ]]; then
> +    make -C xen randconfig
> +else
> +    make -C xen defconfig
> +fi
> +
> +# build up our configure options
> +cfgargs=()
> +cfgargs+=("--disable-stubdom") # more work needed into building this
> +cfgargs+=("--disable-rombios")
> +cfgargs+=("--enable-docs")
> +cfgargs+=("--with-system-seabios=/usr/share/seabios/bios.bin")
> +
> +if [[ "${XEN_TARGET_ARCH}" == "x86_64" ]]; then
> +    cfgargs+=("--enable-tools")
> +else
> +    cfgargs+=("--disable-tools") # we don't have the cross depends installed
> +fi
> +
> +# Due to multiple build failures and the desire to get more
> +# build testing (GCC only) enabled this is disabled
> +if [[ "${clang}" == "y" ]]; then
> +    cfgargs+=("--disable-tools")
> +fi
> +
> +./configure "${cfgargs[@]}"
> +
> +make dist

However, I do have one suggestion for an improvement which we might want
to consider (likely as a followup patch).

It would be very useful if we could get travis to build 32bit tools as
well as 64bit.  It is moderately frequently that the build breaks
because of a stray use of unsigned long vs uint32_t or uint64_t.

This can be done using XEN_TARGET_ARCH=x86_32, although you would still
need x86_64 to the hypervisor, or omit the hypervisor build entirely.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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