travis.yml: Test the release tarball
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é <philmd@redhat.com>
Message-Id: <20191007160450.3619-1-philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/.travis.yml b/.travis.yml
index 7e0d4ad..f2b679f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -343,3 +343,26 @@
- 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'.
+ # This is the case when release candidate tags are created.
+ - if: tag IS present AND tag =~ /^v\d+\.\d+(\.\d+)?(-\S*)?$/
+ 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:
+ - make -C ${SRC_DIR} qemu-${QEMU_VERSION}.tar.bz2
+ - ls -l ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2
+ - tar -xf ${SRC_DIR}/qemu-${QEMU_VERSION}.tar.bz2 && cd qemu-${QEMU_VERSION}
+ - ./configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; }
+ - make install