qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] .travis.yml: Test the release tarball


From: Michael Roth
Subject: Re: [PATCH] .travis.yml: Test the release tarball
Date: Mon, 23 Sep 2019 08:44:34 -0500
User-agent: alot/0.7

Quoting Philippe Mathieu-Daudé (2019-09-20 12:42:19)
> Add a job to generate the release tarball and build/install few
> QEMU targets from it.
> 
> Ideally we should build the 'efi' target from the 'roms' directory,
> but it is too time consuming.

Individual targets might not be too bad. For instance:

  make -f Makefile.edk2 ../pc-bios/edk2-x86_64-secure-code.fd.bz2

builds in about 7m on my 2-core laptop, but the invocation is sort of hacky.
Probably makes sense to expose via `make efi-<arch>` targets before adding
such a test.

Cases covered here seem like a good starting point. Just some minor comments
below.

> 
> This job is only triggered when a tag starting with 'v' is pushed,
> which is the case with release candidate tags.
> 
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> This job is quick enough: Ran for 15 min 32 sec
> https://travis-ci.org/philmd/qemu/jobs/587583631
> 
> Based-on: <address@hidden>
> "Fix tarball builds of UEFI/EDK2 firmware"
> https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg02734.html
> ---
>  .travis.yml | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index d0b9e099b9..a21f99d22d 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -339,3 +339,25 @@ matrix:
>          - 
> CONFIG="--target-list=xtensa-softmmu,arm-softmmu,aarch64-softmmu,alpha-softmmu"
>          - TEST_CMD="make -j3 check-tcg V=1"
>          - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
> +
> +
> +    # Release builds
> +    # The make-release script expect a QEMU version, so our tag must start 
> with a 'v'
> +    - if: tag IS present AND tag =~ ^v

Might ^v be a bit too open-ended? Perhaps ^v\d+\. or something of the
sort?

> +      env:
> +        # We want to build from the release tarball
> +        - BUILD_DIR="release/build/dir" SRC_DIR="../../.."
> +        - BASE_CONFIG="--prefix=$PWD/dist"
> +        - 
> CONFIG="--target-list=x86_64-softmmu,aarch64-softmmu,armeb-linux-user,ppc-linux-user"
> +        - TEST_CMD="make install -j3"
> +        - QEMU_VERSION="${TRAVIS_TAG:1}"
> +        - CACHE_NAME="${TRAVIS_BRANCH}-linux-gcc-default"
> +      before_script:
> +        - command -v ccache && ccache --zero-stats
> +        - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
> +      script:
> +        - ${SRC_DIR}/scripts/make-release ${SRC_DIR} ${QEMU_VERSION}

Same result currently, but the `make qemu-$version.tar.bz2` target is probably
more robust/stable to test with.

> +        - ls -l qemu-${QEMU_VERSION}.tar.bz2
> +        - tar -xf qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION}
> +        - ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 
> 1; }
> +        - make install
> -- 
> 2.20.1
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]