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: Stefan Weil
Subject: Re: [RFC PATCH 3/3] .github/workflows: Use matrix strategy to parallelize builds
Date: Tue, 4 Aug 2020 11:04:02 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

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.

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]