Message ID | 20190920174219.22005-1-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | .travis.yml: Test the release tarball | expand |
On 9/20/19 7:42 PM, Philippe Mathieu-Daudé wrote: > 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> > --- > This job is quick enough: Ran for 15 min 32 sec > https://travis-ci.org/philmd/qemu/jobs/587583631 > > Based-on: <20190912231202.12327-1-mdroth@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' *sigh* I forgot to commit my stash. This is simply a change in the comment: -- >8 -- @@ -342,7 +342,8 @@ # Release builds - # The make-release script expect a QEMU version, so our tag must start with a 'v' + # 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 > + 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 >
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é <philmd@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-mdroth@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 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 >
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
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> --- This job is quick enough: Ran for 15 min 32 sec https://travis-ci.org/philmd/qemu/jobs/587583631 Based-on: <20190912231202.12327-1-mdroth@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(+)