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

Philippe Mathieu-Daudé posted 1 patch 2 weeks ago
Test FreeBSD passed
Test docker-mingw@fedora passed
Test asan failed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-clang@ubuntu passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191007160450.3619-1-philmd@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Fam Zheng <fam@euphon.net>
.travis.yml | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

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

Posted by Philippe Mathieu-Daudé 2 weeks ago
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>
---
v2: addressed mdroth comments

This job is quick enough: Ran for 16 min 33 sec
https://travis-ci.org/philmd/qemu/jobs/594565293

Based-on: <20191007133540.30623-1-philmd@redhat.com>
pull request including "Fix tarball builds of UEFI/EDK2 firmware"
https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg02734.html
---
 .travis.yml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index d0b9e099b9..d881ea0849 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -339,3 +339,26 @@ 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'.
+    # 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
-- 
2.21.0


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

Posted by Philippe Mathieu-Daudé 3 days ago
ping?

On 10/7/19 6:04 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>
> ---
> v2: addressed mdroth comments
> 
> This job is quick enough: Ran for 16 min 33 sec
> https://travis-ci.org/philmd/qemu/jobs/594565293
> 
> Based-on: <20191007133540.30623-1-philmd@redhat.com>
> pull request including "Fix tarball builds of UEFI/EDK2 firmware"
> https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg02734.html
> ---
>   .travis.yml | 23 +++++++++++++++++++++++
>   1 file changed, 23 insertions(+)
> 
> diff --git a/.travis.yml b/.travis.yml
> index d0b9e099b9..d881ea0849 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -339,3 +339,26 @@ 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'.
> +    # 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
> 


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

Posted by Alex Bennée 3 days ago
Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> ping?

I've pulled it into testing/next to play but I was wondering if it was
worth it given how infrequently it would run...


>
> On 10/7/19 6:04 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>
>> ---
>> v2: addressed mdroth comments
>> This job is quick enough: Ran for 16 min 33 sec
>> https://travis-ci.org/philmd/qemu/jobs/594565293
>> Based-on: <20191007133540.30623-1-philmd@redhat.com>
>> pull request including "Fix tarball builds of UEFI/EDK2 firmware"
>> https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg02734.html
>> ---
>>   .travis.yml | 23 +++++++++++++++++++++++
>>   1 file changed, 23 insertions(+)
>> diff --git a/.travis.yml b/.travis.yml
>> index d0b9e099b9..d881ea0849 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -339,3 +339,26 @@ 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'.
>> +    # 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
>>


--
Alex Bennée

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

Posted by Philippe Mathieu-Daudé 3 days ago
On 10/18/19 5:56 PM, Alex Bennée wrote:
> 
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> 
>> ping?
> 
> I've pulled it into testing/next to play but I was wondering if it was
> worth it given how infrequently it would run...

Well, it will run when we tag release candidate and catch eventual bugs 
before we tag the final release. The idea is to avoid the same mistake 
we did with the last release that Bruce spotted.

>> On 10/7/19 6:04 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>
>>> ---
>>> v2: addressed mdroth comments
>>> This job is quick enough: Ran for 16 min 33 sec
>>> https://travis-ci.org/philmd/qemu/jobs/594565293
>>> Based-on: <20191007133540.30623-1-philmd@redhat.com>
>>> pull request including "Fix tarball builds of UEFI/EDK2 firmware"
>>> https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg02734.html
>>> ---
>>>    .travis.yml | 23 +++++++++++++++++++++++
>>>    1 file changed, 23 insertions(+)
>>> diff --git a/.travis.yml b/.travis.yml
>>> index d0b9e099b9..d881ea0849 100644
>>> --- a/.travis.yml
>>> +++ b/.travis.yml
>>> @@ -339,3 +339,26 @@ 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'.
>>> +    # 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
>>>
> 
> 
> --
> Alex Bennée
>