qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 3/3] .github/workflows: Use matrix strategy to paralleliz


From: Philippe Mathieu-Daudé
Subject: Re: [RFC PATCH 3/3] .github/workflows: Use matrix strategy to parallelize builds
Date: Tue, 4 Aug 2020 11:11:16 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 8/4/20 11:04 AM, Stefan Weil wrote:
> Hi Philippe,
> 
> just a side note: GitHub action runs parallel jobs by default. I use two
> jobs (32 and 64 bit builds), so both are built at the same time, see
> https://github.com/stweil/qemu/actions.

Indeed... Not sure why my tests ran serialized, maybe I had too many
jobs scheduled.

> 
> Regards,
> 
> Stefan
> 
> Am 04.08.20 um 10:48 schrieb Philippe Mathieu-Daudé:
>> Using sequencial builds, both jobs take almost 2h to build.
>> By using the matrix strategy we can build the jobs in parallel,
>> reducing the total build time to 1h12m (as of v5.1.0-rc2).
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>  .github/workflows/build.sh |  8 ++++----
>>  .github/workflows/win.yml  | 23 +++++++----------------
>>  2 files changed, 11 insertions(+), 20 deletions(-)
>>
>> diff --git a/.github/workflows/build.sh b/.github/workflows/build.sh
>> index c430a367be..4f2c6b56f3 100755
>> --- a/.github/workflows/build.sh
>> +++ b/.github/workflows/build.sh
>> @@ -7,10 +7,10 @@
>>  #~ set -e
>>  set -x
>>  
>> -ARCH=$1
>> -DLLS="libgcc_s_sjlj-1.dll libgomp-1.dll libstdc++-6.dll"
>> -
>> -if test "$ARCH" != "i686"; then
>> +if test "$1" == "32"; then
>> +  ARCH=i686
>> +  DLLS="libgcc_s_sjlj-1.dll libgomp-1.dll libstdc++-6.dll"
>> +else
>>    ARCH=x86_64
>>    DLLS="libgcc_s_seh-1.dll libgomp-1.dll libstdc++-6.dll"
>>  fi
>> diff --git a/.github/workflows/win.yml b/.github/workflows/win.yml
>> index 81cf48530f..afd827db8e 100644
>> --- a/.github/workflows/win.yml
>> +++ b/.github/workflows/win.yml
>> @@ -9,26 +9,17 @@ name: Cross build for Windows
>>  on: [push]
>>  
>>  jobs:
>> -  build32:
>> +  build:
>> +    strategy:
>> +      matrix:
>> +        arch: [32, 64]
>>      if: github.repository == 'qemu/qemu'
>>      runs-on: [ubuntu-20.04]
>>      steps:
>>      - uses: actions/checkout@v2
>> -    - name: Build QEMU installer (32 bit)
>> -      run: .github/workflows/build.sh i686
>> +    - name: Build QEMU installer (${{ matrix.arch }} bit)
>> +      run: .github/workflows/build.sh ${{ matrix.arch }}
>>      - uses: actions/upload-artifact@v1
>>        with:
>> -        name: QEMU Installer Windows 32 bit
>> -        path: dist
>> -
>> -  build64:
>> -    if: github.repository == 'qemu/qemu'
>> -    runs-on: [ubuntu-20.04]
>> -    steps:
>> -    - uses: actions/checkout@v2
>> -    - name: Build QEMU installer (64 bit)
>> -      run: .github/workflows/build.sh x86_64
>> -    - uses: actions/upload-artifact@v1
>> -      with:
>> -        name: QEMU Installer Windows 64 bit
>> +        name: QEMU Installer Windows ${{ matrix.arch }} bit
>>          path: dist
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]