[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
>