From patchwork Fri May 6 11:57:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 110772 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E95C0A0503; Fri, 6 May 2022 13:57:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 81BF740395; Fri, 6 May 2022 13:57:52 +0200 (CEST) Received: from us-smtp-delivery-74.mimecast.com (us-smtp-delivery-74.mimecast.com [170.10.129.74]) by mails.dpdk.org (Postfix) with ESMTP id 0EECD4014F for ; Fri, 6 May 2022 13:57:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1651838270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Xsy6Y3/Cp/20s2kNFr0I857TnDgsJgm7PcDkQEh5njo=; b=hSzVBGR16NwELtsQeEGITbsGltQeCiVh5nt8q01WZQh42NM11u/QltXsCnoVJ3wbzGxGZg a+wq7e5OdYP2rS+sOJ3LMGgPsX+mmg6l5i+FF/QkOPnbK7nA2XOw5U89BsDgdQZkC9Uj5E g7W569RDtx8deZR1nUrLuvQei9v/Ybc= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-613-rCDLtloCOjOH1do2QXR0dA-1; Fri, 06 May 2022 07:57:47 -0400 X-MC-Unique: rCDLtloCOjOH1do2QXR0dA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E8C3D3C16196; Fri, 6 May 2022 11:57:46 +0000 (UTC) Received: from dmarchan.remote.csb (unknown [10.40.193.195]) by smtp.corp.redhat.com (Postfix) with ESMTP id 65A5B1468971; Fri, 6 May 2022 11:57:45 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: Aaron Conole , Michael Santana , Ruifeng Wang , Jan Viktorin , Bruce Richardson , David Christensen Subject: [PATCH v2 1/2] ci: switch to Ubuntu 20.04 Date: Fri, 6 May 2022 13:57:35 +0200 Message-Id: <20220506115736.8492-1-david.marchand@redhat.com> In-Reply-To: <20220426071828.1810-1-david.marchand@redhat.com> References: <20220426071828.1810-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david.marchand@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Ubuntu 18.04 is now rather old. Besides, other entities in our CI are also testing this distribution. Switch to a newer Ubuntu release and benefit from more recent tool(chain)s: for example, net/cnxk now builds fine and can be re-enabled. Note: Ubuntu 18.04 and 20.04 seem to preserve the same paths for the ARM and PPC cross compilation toolchains, so we can use a single configuration file (with the hope, future releases of Ubuntu will do the same). Signed-off-by: David Marchand Acked-by: Aaron Conole Reviewed-by: Ruifeng Wang Reviewed-by: Ruifeng Wang --- Changes since v1: - renamed ubuntu cross compilation configs for ARM and PPC, --- .ci/linux-build.sh | 7 ++---- .github/workflows/build.yml | 22 +++++++++---------- ...ntu1804 => arm64_armv8_linux_clang_ubuntu} | 0 ...tu1804 => ppc64le-power8-linux-gcc-ubuntu} | 0 4 files changed, 12 insertions(+), 17 deletions(-) rename config/arm/{arm64_armv8_linux_clang_ubuntu1804 => arm64_armv8_linux_clang_ubuntu} (100%) rename config/ppc/{ppc64le-power8-linux-gcc-ubuntu1804 => ppc64le-power8-linux-gcc-ubuntu} (100%) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 774a1441bf..2dea0c93fa 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -57,18 +57,15 @@ catch_coredump() { } if [ "$AARCH64" = "true" ]; then - # Note: common/cnxk is disabled for Ubuntu 18.04 - # https://bugs.dpdk.org/show_bug.cgi?id=697 - OPTS="$OPTS -Ddisable_drivers=common/cnxk" if [ "${CC%%clang}" != "$CC" ]; then - OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu1804" + OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu" else OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc" fi fi if [ "$PPC64LE" = "true" ]; then - OPTS="$OPTS --cross-file config/ppc/ppc64le-power8-linux-gcc-ubuntu1804" + OPTS="$OPTS --cross-file config/ppc/ppc64le-power8-linux-gcc-ubuntu" fi if [ "$BUILD_DOCS" = "true" ]; then diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 22daaabb91..812aa7055d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,43 +30,41 @@ jobs: fail-fast: false matrix: config: - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: static - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: shared mini: mini - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: shared checks: abi+doc+tests - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: clang library: static - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: clang library: shared checks: doc+tests - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: static cross: i386 - # Note: common/cnxk is disabled for Ubuntu 18.04 - # https://bugs.dpdk.org/show_bug.cgi?id=697 - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: static cross: aarch64 - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: shared cross: aarch64 - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: static cross: ppc64le - - os: ubuntu-18.04 + - os: ubuntu-20.04 compiler: gcc library: shared cross: ppc64le diff --git a/config/arm/arm64_armv8_linux_clang_ubuntu1804 b/config/arm/arm64_armv8_linux_clang_ubuntu similarity index 100% rename from config/arm/arm64_armv8_linux_clang_ubuntu1804 rename to config/arm/arm64_armv8_linux_clang_ubuntu diff --git a/config/ppc/ppc64le-power8-linux-gcc-ubuntu1804 b/config/ppc/ppc64le-power8-linux-gcc-ubuntu similarity index 100% rename from config/ppc/ppc64le-power8-linux-gcc-ubuntu1804 rename to config/ppc/ppc64le-power8-linux-gcc-ubuntu From patchwork Fri May 6 11:57:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 110773 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 58E10A0503; Fri, 6 May 2022 13:57:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5E9244281C; Fri, 6 May 2022 13:57:55 +0200 (CEST) Received: from us-smtp-delivery-74.mimecast.com (us-smtp-delivery-74.mimecast.com [170.10.129.74]) by mails.dpdk.org (Postfix) with ESMTP id 2E5A54280D for ; Fri, 6 May 2022 13:57:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1651838272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8TA8giYl65UDNZSQ5AyarTRT8swcyg58ExyniFW1a+k=; b=J5Zs1+r4cduRVI2uBIheAcwpB+sGjpzsyfgUXYVd00LfYsqtQHecOw933CsLiXphhDHXJA 0RRjaCx0ikU1c76B8dBH1RIY3VLEOJAX654BCdTuWsVuEJVw1Plxk97Nrq9kRUNUKIMFin wDOIPN9JuM50GeOoN85+tZ3F0spxzDU= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-635-DoQTkOAPNSK0oQLvUFP7lQ-1; Fri, 06 May 2022 07:57:51 -0400 X-MC-Unique: DoQTkOAPNSK0oQLvUFP7lQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4045C85A5A8; Fri, 6 May 2022 11:57:51 +0000 (UTC) Received: from dmarchan.remote.csb (unknown [10.40.193.195]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7462B14682E3; Fri, 6 May 2022 11:57:50 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: Aaron Conole , Michael Santana Subject: [PATCH v2 2/2] ci: add mingw cross compilation in GHA Date: Fri, 6 May 2022 13:57:36 +0200 Message-Id: <20220506115736.8492-2-david.marchand@redhat.com> In-Reply-To: <20220506115736.8492-1-david.marchand@redhat.com> References: <20220426071828.1810-1-david.marchand@redhat.com> <20220506115736.8492-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=david.marchand@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add mingw cross compilation in our public CI so that users with their own github repository have a first level of checks for Windows compilation before submitting to the mailing list. This does not replace our better checks in other entities of the CI. Only the helloworld example is compiled (same as what is tested in test-meson-builds.sh). Note: the mingw cross compilation toolchain (version 5.0) in Ubuntu 18.04 was broken (missing a ENOMSG definition). Signed-off-by: David Marchand Acked-by: Aaron Conole --- .ci/linux-build.sh | 22 +++++++++++++++++----- .github/workflows/build.yml | 8 ++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 2dea0c93fa..877243c9c8 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -56,16 +56,26 @@ catch_coredump() { return 1 } +cross_file= + if [ "$AARCH64" = "true" ]; then if [ "${CC%%clang}" != "$CC" ]; then - OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_clang_ubuntu" + cross_file=config/arm/arm64_armv8_linux_clang_ubuntu else - OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc" + cross_file=config/arm/arm64_armv8_linux_gcc fi fi +if [ "$MINGW" = "true" ]; then + cross_file=config/x86/cross-mingw +fi + if [ "$PPC64LE" = "true" ]; then - OPTS="$OPTS --cross-file config/ppc/ppc64le-power8-linux-gcc-ubuntu" + cross_file=config/ppc/ppc64le-power8-linux-gcc-ubuntu +fi + +if [ -n "$cross_file" ]; then + OPTS="$OPTS --cross-file $cross_file" fi if [ "$BUILD_DOCS" = "true" ]; then @@ -78,7 +88,9 @@ if [ "$BUILD_32BIT" = "true" ]; then export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig" fi -if [ "$DEF_LIB" = "static" ]; then +if [ "$MINGW" = "true" ]; then + OPTS="$OPTS -Dexamples=helloworld" +elif [ "$DEF_LIB" = "static" ]; then OPTS="$OPTS -Dexamples=l2fwd,l3fwd" else OPTS="$OPTS -Dexamples=all" @@ -95,7 +107,7 @@ fi meson build --werror $OPTS ninja -C build -if [ "$AARCH64" != "true" ] && [ "$PPC64LE" != "true" ]; then +if [ -z "$cross_file" ]; then failed= configure_coredump devtools/test-null.sh || failed="true" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 812aa7055d..e2f94d786b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,6 +21,7 @@ jobs: CC: ccache ${{ matrix.config.compiler }} DEF_LIB: ${{ matrix.config.library }} LIBABIGAIL_VERSION: libabigail-1.8 + MINGW: ${{ matrix.config.cross == 'mingw' }} MINI: ${{ matrix.config.mini != '' }} PPC64LE: ${{ matrix.config.cross == 'ppc64le' }} REF_GIT_TAG: v22.03 @@ -52,6 +53,10 @@ jobs: compiler: gcc library: static cross: i386 + - os: ubuntu-20.04 + compiler: gcc + library: static + cross: mingw - os: ubuntu-20.04 compiler: gcc library: static @@ -119,6 +124,9 @@ jobs: if: env.AARCH64 == 'true' run: sudo apt install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross pkg-config-aarch64-linux-gnu + - name: Install mingw cross compiling packages + if: env.MINGW == 'true' + run: sudo apt install -y mingw-w64 mingw-w64-tools - name: Install ppc64le cross compiling packages if: env.PPC64LE == 'true' run: sudo apt install -y gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross