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. 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é <phi...@redhat.com> --- This job is quick enough: Ran for 15 min 32 sec https://travis-ci.org/philmd/qemu/jobs/587583631 Based-on: <20190912231202.12327-1-mdr...@linux.vnet.ibm.com> "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 + 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} + - 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