From patchwork Tue Aug 4 08:48:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1340737 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=BuWsRr9j; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BLT2P5xYSz9s1x for ; Tue, 4 Aug 2020 18:49:17 +1000 (AEST) Received: from localhost ([::1]:56796 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2sdH-0006rR-FZ for incoming@patchwork.ozlabs.org; Tue, 04 Aug 2020 04:49:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33284) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2sct-0006of-08 for qemu-devel@nongnu.org; Tue, 04 Aug 2020 04:48:51 -0400 Received: from mail-ej1-x644.google.com ([2a00:1450:4864:20::644]:34508) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2scr-0003T3-2b for qemu-devel@nongnu.org; Tue, 04 Aug 2020 04:48:50 -0400 Received: by mail-ej1-x644.google.com with SMTP id o23so14083350ejr.1 for ; Tue, 04 Aug 2020 01:48:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uPmUDkGHzFR/QkTSB2dNXcFuwsKNp4mW+afmy/rZ7/E=; b=BuWsRr9jOoPptjMBLc/jtAc3kg6miymNPblIUw9cG33m/+EWWxh7vVtg8f0YIvO5XT NrfMDInxZb3vQgGgxR7/HsuoAsL238ZqAQwBi2eetNOfUK+uL8vHNaM44UT+r/IeW44g AqFu3Qb9PnPWmWFvlMnygcjof/eOZhSmfEpDBtPJMc3qurUWuMK1OGYestoLb/q0RY0w f8jgklkZ6fjJ8xK2/58uyV55tq7pp9NbHXdqYZ+bTdLCy0B0o0wX5OOnjUga5nicajSi wen6hJbVaoS9pgbk+kAZBJKHr+KtkPSfOmd0UehP+0kor97h0MFVU5I+yl1oG9Wi/Wfp C/zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=uPmUDkGHzFR/QkTSB2dNXcFuwsKNp4mW+afmy/rZ7/E=; b=fcrefIBtSxi1JWUp3HfyEXowh/tpLsBJfuS5VKyAUumFUn8XhfpfKYEX9l+0SlwFHu A8/PoRXnqoQj/s/2I06npSxLtMhddqM6F8lZWDQwTvZSAxJbOWPc+u69TeWtLQi3LZ3x HIwoNVwkRPbRA1uCh6REh3Yh7uKBNaWQ6F8ifzdQhwvACJDnLBSIH9DL5QhiTMHJd2f9 2HFAeuyDz0XyO4ZGHxRCCDENg1AoT/t2eBsKQzn06M3z7b/KNUqFhBYvXNtVS+6WNXLC PpXknIWX2zD1XNqZCkSRP5HZZtcDK/8k9urUO+F15186sJAfNhQ8rZVERo3+eyGX40l2 zULw== X-Gm-Message-State: AOAM532MMw1g+URJg+LMj6ugBw4CTlT1AU8dJRivBpCUS80sQlAaRqgE wE/2Cb/gu1mQUtBCZa4438ZESTfG X-Google-Smtp-Source: ABdhPJzbs5dcT3A5FABEQ4yGzxROOLMTXs5Rjp7nkpgD4Ff9Lq83ApCIeO6uYbHbpAfqqZz/z0aPkw== X-Received: by 2002:a17:906:c143:: with SMTP id dp3mr20178206ejc.504.1596530926873; Tue, 04 Aug 2020 01:48:46 -0700 (PDT) Received: from x1w.redhat.com (214.red-88-21-68.staticip.rima-tde.net. [88.21.68.214]) by smtp.gmail.com with ESMTPSA id q11sm1299641edn.12.2020.08.04.01.48.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Aug 2020 01:48:46 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 1/3] .github/workflows: Add GitHub action for Windows build Date: Tue, 4 Aug 2020 10:48:41 +0200 Message-Id: <20200804084843.31075-2-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200804084843.31075-1-f4bug@amsat.org> References: <20200804084843.31075-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::644; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-x644.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Thomas Huth , Stefan Weil , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Sunil Muthuswamy , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" From: Stefan Weil The GitHub action is restricted to https://github.com/qemu/qemu. Signed-off-by: Stefan Weil Message-Id: <20200803202042.1869013-1-sw@weilnetz.de> Signed-off-by: Philippe Mathieu-Daudé --- .github/workflows/build.sh | 112 ++++++++++++++++++++++ .github/workflows/pkg-config-crosswrapper | 37 +++++++ .github/workflows/win.yml | 34 +++++++ 3 files changed, 183 insertions(+) create mode 100755 .github/workflows/build.sh create mode 100755 .github/workflows/pkg-config-crosswrapper create mode 100644 .github/workflows/win.yml diff --git a/.github/workflows/build.sh b/.github/workflows/build.sh new file mode 100755 index 0000000000..c430a367be --- /dev/null +++ b/.github/workflows/build.sh @@ -0,0 +1,112 @@ +#!/bin/bash + +# GitHub actions - Create QEMU installer for Windows + +# Author: Stefan Weil (2020) + +#~ set -e +set -x + +ARCH=$1 +DLLS="libgcc_s_sjlj-1.dll libgomp-1.dll libstdc++-6.dll" + +if test "$ARCH" != "i686"; then + ARCH=x86_64 + DLLS="libgcc_s_seh-1.dll libgomp-1.dll libstdc++-6.dll" +fi + +ROOTDIR=$PWD +DISTDIR=$ROOTDIR/dist +HOST=$ARCH-w64-mingw32 +BUILDDIR=bin/ndebug/$HOST +PKG_ARCH=mingw64-${ARCH/_/-} + +# Install cygwin key and add cygwin sources. +curl -s https://qemu.weilnetz.de/debian/gpg.key | sudo apt-key add - +echo deb https://qemu.weilnetz.de/debian/ testing contrib | \ + sudo tee /etc/apt/sources.list.d/cygwin.list + +# Install packages. +sudo apt-get update +sudo apt-get install --no-install-recommends \ + mingw-w64-tools nsis \ + gcc libc6-dev \ + g++-mingw-w64-${ARCH/_/-} gcc-mingw-w64-${ARCH/_/-} \ + bison flex gettext python3-sphinx texinfo \ + $PKG_ARCH-adwaita-icon-theme $PKG_ARCH-cogl $PKG_ARCH-curl \ + $PKG_ARCH-gmp $PKG_ARCH-gnutls $PKG_ARCH-gtk3 $PKG_ARCH-icu \ + $PKG_ARCH-libxml2 $PKG_ARCH-ncurses $PKG_ARCH-sdl2 $PKG_ARCH-usbredir + +# Workaround for buggy cross pkg-config. +sudo ln -sf $PWD/.github/workflows/pkg-config-crosswrapper \ + /usr/bin/$HOST-pkg-config + +# Get header files for WHPX API from Mingw-w64 git master. +( +sudo mkdir -p /usr/$HOST/sys-include +cd /usr/$HOST/sys-include +SF_URLBASE=https://sourceforge.net +URL=$SF_URLBASE/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-headers/include +sudo curl -s -o winhvemulation.h $URL/winhvemulation.h?format=raw +sudo curl -s -o winhvplatform.h $URL/winhvplatform.h?format=raw +sudo curl -s -o winhvplatformdefs.h $URL/winhvplatformdefs.h?format=raw +sudo ln -s winhvemulation.h WinHvEmulation.h +sudo ln -s winhvplatform.h WinHvPlatform.h +sudo ln -s winhvplatformdefs.h WinHvPlatformDefs.h +) + +DLL_PATH=$PWD/dll/$HOST + +mkdir -p $DISTDIR +mkdir -p $DLL_PATH + +for dll in $DLLS; do + ln -sf /usr/lib/gcc/$HOST/*-win32/$dll $DLL_PATH +done + +DLLS="iconv.dll libatk-1.0-0.dll libbz2-1.dll" +DLLS="$DLLS libcairo-2.dll libcairo-gobject-2.dll libcurl-4.dll" +DLLS="$DLLS libeay32.dll libepoxy-0.dll libexpat-1.dll" +DLLS="$DLLS libffi-6.dll libfontconfig-1.dll libfreetype-6.dll" +DLLS="$DLLS libgdk-3-0.dll libgdk_pixbuf-2.0-0.dll" +DLLS="$DLLS libgio-2.0-0.dll libglib-2.0-0.dll libgmodule-2.0-0.dll" +DLLS="$DLLS libgmp-10.dll libgnutls-30.dll libgobject-2.0-0.dll libgtk-3-0.dll" +DLLS="$DLLS libharfbuzz-0.dll libhogweed-4.dll libidn2-0.dll libintl-8.dll" +DLLS="$DLLS libjpeg-8.dll liblzo2-2.dll" +DLLS="$DLLS libncursesw6.dll libnettle-6.dll libnghttp2-14.dll" +DLLS="$DLLS libp11-kit-0.dll libpango-1.0-0.dll libpangocairo-1.0-0.dll" +DLLS="$DLLS libpangoft2-1.0-0.dll libpangowin32-1.0-0.dll libpcre-1.dll" +DLLS="$DLLS libpixman-1-0.dll libpng16-16.dll libssh2-1.dll libtasn1-6.dll" +DLLS="$DLLS libunistring-2.dll libusb-1.0.dll libusbredirparser-1.dll" +DLLS="$DLLS SDL2.dll ssleay32.dll zlib1.dll" + +for dll in $DLLS; do + ln -sf /usr/$HOST/sys-root/mingw/bin/$dll $DLL_PATH +done + +ln -sf /usr/$HOST/lib/libwinpthread-1.dll $DLL_PATH + +# Build QEMU installer. + +echo Building $HOST... +mingw=/usr/$HOST/sys-root/mingw +mkdir -p $BUILDDIR && cd $BUILDDIR + +# Run configure. +../../../configure --cross-prefix=$HOST- --disable-guest-agent-msi \ + --disable-werror --enable-whpx \ + --extra-cflags="-I $mingw/include" \ + --extra-ldflags="-L $mingw/lib" + +# Add config.log to build artifacts. +cp config.log $DISTDIR/ + +make + +echo Building installers... +date=$(date +%Y%m%d) +INSTALLER=$DISTDIR/qemu-$ARCH-setup-$date.exe +make installer DLL_PATH=$DLL_PATH SIGNCODE=true INSTALLER=$INSTALLER + +echo Calculate SHA-512 checksum... +(cd $DISTDIR; exe=$(basename $INSTALLER); sha512sum $exe >${exe/exe/sha512}) diff --git a/.github/workflows/pkg-config-crosswrapper b/.github/workflows/pkg-config-crosswrapper new file mode 100755 index 0000000000..768e554194 --- /dev/null +++ b/.github/workflows/pkg-config-crosswrapper @@ -0,0 +1,37 @@ +#! /bin/sh +# pkg-config wrapper for cross-building +# Sets pkg-config search path to search multiarch and historical cross-compiling paths. + +# If the user has already set PKG_CONFIG_LIBDIR, believe it (even if empty): +# it's documented to be an override +if [ x"${PKG_CONFIG_LIBDIR+set}" = x ]; then + # GNU triplet for the compiler, e.g. i486-linux-gnu for Debian i386, + # i686-linux-gnu for Ubuntu i386 + basename="${0##*/}" + triplet="${basename%-pkg-config}" + # Normalized multiarch path if any, e.g. i386-linux-gnu for i386 + multiarch="`dpkg-architecture -t"${triplet}" -qDEB_HOST_MULTIARCH 2>/dev/null`" + + PKG_CONFIG_LIBDIR="/usr/local/${triplet}/lib/pkgconfig" + # For a native build we would also want to append /usr/local/lib/pkgconfig + # at this point; but this is a cross-building script, so don't + PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:/usr/local/share/pkgconfig" + + if [ -n "$multiarch" ]; then + PKG_CONFIG_LIBDIR="/usr/local/lib/${multiarch}/pkgconfig:$PKG_CONFIG_LIBDIR" + PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:/usr/lib/${multiarch}/pkgconfig" + fi + + PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:/usr/${triplet}/lib/pkgconfig" + # For a native build we would also want to append /usr/lib/pkgconfig + # at this point; but this is a cross-building script, so don't + # If you want to allow use of un-multiarched -dev packages for crossing + # (at the risk of finding build-arch stuff you didn't want, if not in a clean chroot) + # Uncomment the next line: + # PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:/usr/lib/pkgconfig" + PKG_CONFIG_LIBDIR="$PKG_CONFIG_LIBDIR:/usr/share/pkgconfig" + + export PKG_CONFIG_LIBDIR +fi + +exec pkg-config "$@" diff --git a/.github/workflows/win.yml b/.github/workflows/win.yml new file mode 100644 index 0000000000..81cf48530f --- /dev/null +++ b/.github/workflows/win.yml @@ -0,0 +1,34 @@ +# GitHub actions - Create QEMU installers for Windows + +# The action is restricted to https://github.com/qemu/qemu. +# That avoids an unnecessary waste of resources when each fork +# runs the action, too. + +name: Cross build for Windows + +on: [push] + +jobs: + build32: + 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 + - 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 + path: dist From patchwork Tue Aug 4 08:48:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1340744 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=TEoeqtyT; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BLT4J5GXFz9s1x for ; Tue, 4 Aug 2020 18:50:56 +1000 (AEST) Received: from localhost ([::1]:35756 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2ses-0001SF-H8 for incoming@patchwork.ozlabs.org; Tue, 04 Aug 2020 04:50:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33290) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2sct-0006pK-92 for qemu-devel@nongnu.org; Tue, 04 Aug 2020 04:48:51 -0400 Received: from mail-ej1-x644.google.com ([2a00:1450:4864:20::644]:38162) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2scr-0003TB-Rl for qemu-devel@nongnu.org; Tue, 04 Aug 2020 04:48:50 -0400 Received: by mail-ej1-x644.google.com with SMTP id d6so27692211ejr.5 for ; Tue, 04 Aug 2020 01:48:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sku2pwwgHMkauoaWIDKj1GJaqPJmjUYS3kuL4Q6PSe8=; b=TEoeqtyTLN3NfOk8jgcAjg14KWw0JKhniYvkB+A8Xyp66b3ooNF5F+57/IECSbjtFn SsP2sR3LoL3R7MIzBtOJ0KsEfo00+00rdHXLy+DcFmExLY2ZixA+xdV2mqw6lX0kkNQY Vu6gWM0Vs9feGtKDS+3ufxtf6uZynMTJ1HM/3zRS+k69CSTqBP0hZEFUpuPd6S40EA1N LIWEBfM5u0Ac4D77rYTEsZcKQsRhQNrK3+vru7QkliewWEN4z9FCPuQulRaF3eu2TxW9 o/V1T5Tr9AGlJLxaqd3RaKr5xWGodsOj9UV30y2PxaFiHOZZVvHfG1EBHoMZPrar7ls5 t8og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=sku2pwwgHMkauoaWIDKj1GJaqPJmjUYS3kuL4Q6PSe8=; b=MIaki16CUUNGFMTmEKDtVeyv0OiNVClTO7LKjztRwH5mswEXyICKLvnXSwu4b9VcEm JUmph1FRdZrWO0DrWv/6XBtoczhOK4S8QE3BHSYh/W0fup2ESfwZC92QjoVXT30/DUSp /baJ8S3G1hUuogJrw6+Y/8PrLrX/qPXtDkUYCYYm5KHvaBos4lsWuRnrGQmc+vpTwsVo eEIQBuNFKNSNyR39nmHcDk9vc9FpCsh+Hlm8kMMY9YDiW+cCuC6CzddFFHraQBKTQ31A RBCsvUFuohEs7MVDvkpKaQl2tSRotXNnN5GDo0C2sVFIKVOQSJT0zIJFoB983r4d7Gk5 IUjg== X-Gm-Message-State: AOAM532Gjow+9TeKDA0mKOoYk8XDWyXS6X1U1sDeQmFq1yx2gD9ApC1Y ylUVDJmHJ3/ClErV1dp5+O6tVA3j X-Google-Smtp-Source: ABdhPJwUSpCP+iMy+mkwi+NG61xUH3r+A4ALp3LNJJ/SbFmm6gNcTxJkDeMhkXWpnD39fo1Vo9ILzw== X-Received: by 2002:a17:906:454f:: with SMTP id s15mr10122964ejq.130.1596530928116; Tue, 04 Aug 2020 01:48:48 -0700 (PDT) Received: from x1w.redhat.com (214.red-88-21-68.staticip.rima-tde.net. [88.21.68.214]) by smtp.gmail.com with ESMTPSA id q11sm1299641edn.12.2020.08.04.01.48.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Aug 2020 01:48:47 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 2/3] MAINTAINERS: Add entry for GitHub 'Actions' config files Date: Tue, 4 Aug 2020 10:48:42 +0200 Message-Id: <20200804084843.31075-3-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200804084843.31075-1-f4bug@amsat.org> References: <20200804084843.31075-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::644; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-x644.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Thomas Huth , Stefan Weil , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Sunil Muthuswamy , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Add an entry for the GitHub 'Actions' configuration files used to build the WHPX Windows installer. Signed-off-by: Philippe Mathieu-Daudé --- MAINTAINERS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 0886eb3d2b..075728421d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3068,6 +3068,12 @@ R: Wainer dos Santos Moschetta S: Maintained F: .gitlab-ci.yml +GitHub Actions (build Windows installer) +M: Stefan Weil +M: Sunil Muthuswamy +S: Maintained +F: .github/workflows/ + Guest Test Compilation Support M: Alex Bennée R: Philippe Mathieu-Daudé From patchwork Tue Aug 4 08:48:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 1340745 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=amsat.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=CxlMvvEF; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BLT5N5B8nz9sRR for ; Tue, 4 Aug 2020 18:51:52 +1000 (AEST) Received: from localhost ([::1]:38376 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2sfm-0002Xo-Ee for incoming@patchwork.ozlabs.org; Tue, 04 Aug 2020 04:51:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33306) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2scu-0006sw-OD for qemu-devel@nongnu.org; Tue, 04 Aug 2020 04:48:52 -0400 Received: from mail-ej1-x643.google.com ([2a00:1450:4864:20::643]:35145) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2sct-0003TJ-4T for qemu-devel@nongnu.org; Tue, 04 Aug 2020 04:48:52 -0400 Received: by mail-ej1-x643.google.com with SMTP id a26so15734049ejc.2 for ; Tue, 04 Aug 2020 01:48:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rhEk173TreA8qSG0gwJ1Jz+1yGbkH/pbXlXTIivjow8=; b=CxlMvvEFCLAOuqWMxcmTJo3loyyUZLjGEra2AkK+h8U+c9VQ7EkNwTDa8mP51h1Rkr aFtnty9/zfzM39WB3hdrTTXksKPQny1hhSAV6i7UvuCJeY3JrdGvQvi1ai9fYDY2j4AR lFvYl7Xp6hHKBZ7Zzj7MmnXvX6QmITSvMavCpB1/ZO2iZk7l6uaoe48XtP+jHL/pMc+f z7rNSwgc8nHA+xPVC5c6FDtyTQh+H70hl6+CHJA1mwFeRYujCuSWj4t2rXEE9KWn2Ogm pLsT42VrMGTRYLLYn8IxoSQI+BM00+V8ZFtkI9bM18Grr2XTuINYgStrdTVsp/iblaGK w5yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=rhEk173TreA8qSG0gwJ1Jz+1yGbkH/pbXlXTIivjow8=; b=qnGS9pu5MURs/hkYvML0p44BySZWxg7iRdScbc79C9RpH6qwVCxvXIB+QUgGkcoPPi UaTXNGgqI4M7wiwPbFxI0EakyxgtLkLmEJYJb3t/ZtE+s+uA4UYZZ6yaE2wTrw4o6dGB 28G+CoAo0mz/AUJ27ZGXZp982oIHz6UQq/OmBqTWAGz28hWII9YRO7QE+RhxN12azCim WeqUQTWbV9WF+aFeyo1WucztHNPqrebrMajXM0mrhSo2GO0Pz5FOdrcBC3vRfAyecXfJ G1GG0GYQPJum3wqN9v8daa6M73zFBGAqXwTgJIfLypI8ulnAkmjhIejBOR3pOH/LrL4Y pUQA== X-Gm-Message-State: AOAM533AmZQ+SEmEu8oDh4vTrzLl5cmxkEqzWBfcQMB3n+CCJwK5B5tE 91MllLs6h33mg+h/NdUekEkjgATP X-Google-Smtp-Source: ABdhPJytTd5ex/4048vm4WWmcx27DA4d89CaLE9a+o7XLo/TUBHbUkwOlSBvpsgEGDpNqf6SlZn1Zg== X-Received: by 2002:a17:906:c04d:: with SMTP id bm13mr19850138ejb.321.1596530929323; Tue, 04 Aug 2020 01:48:49 -0700 (PDT) Received: from x1w.redhat.com (214.red-88-21-68.staticip.rima-tde.net. [88.21.68.214]) by smtp.gmail.com with ESMTPSA id q11sm1299641edn.12.2020.08.04.01.48.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Aug 2020 01:48:48 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [RFC PATCH 3/3] .github/workflows: Use matrix strategy to parallelize builds Date: Tue, 4 Aug 2020 10:48:43 +0200 Message-Id: <20200804084843.31075-4-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20200804084843.31075-1-f4bug@amsat.org> References: <20200804084843.31075-1-f4bug@amsat.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::643; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-x643.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Thomas Huth , Stefan Weil , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Sunil Muthuswamy , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" 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é --- .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