diff mbox series

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

Message ID 20191007160450.3619-1-philmd@redhat.com
State New
Headers show
Series [v2] .travis.yml: Test the release tarball | expand

Commit Message

Philippe Mathieu-Daudé Oct. 7, 2019, 4:04 p.m. UTC
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(+)

Comments

Philippe Mathieu-Daudé Oct. 18, 2019, 2:40 p.m. UTC | #1
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
>
Alex Bennée Oct. 18, 2019, 3:56 p.m. UTC | #2
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
Philippe Mathieu-Daudé Oct. 18, 2019, 5:08 p.m. UTC | #3
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
>
diff mbox series

Patch

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