From patchwork Tue Apr 26 07:18:27 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 110256 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 D708AA00C3; Tue, 26 Apr 2022 09:19:16 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5662141109; Tue, 26 Apr 2022 09:19:15 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 5CD0341109 for ; Tue, 26 Apr 2022 09:19:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1650957552; 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; bh=DcIo/Jv+shnTik+zKsV0Z8KMJzPjH77/sGpXE+slXjg=; b=YFNx4kbjlOB7FV4qQfsrNxl+R7yKUhWXOE+jRFHyVF+poztKQr2VHWgvzdLsBIibaekEmK dpFt15AqEyxWUZGuKbNuV37c9xPnKN6/UHARTu7k4Qk/w5z0sQOYK3Eh9C5RPDTjuOoBZ8 eLviTuqZ6jp2bHJqgLnt1nXYRgQE2DY= 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-511-3EXIkzgxNc6dpcm6Br9OQA-1; Tue, 26 Apr 2022 03:19:10 -0400 X-MC-Unique: 3EXIkzgxNc6dpcm6Br9OQA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1F13D29ABA0F; Tue, 26 Apr 2022 07:18:59 +0000 (UTC) Received: from dmarchan.remote.csb (unknown [10.40.193.200]) by smtp.corp.redhat.com (Postfix) with ESMTP id 10C949E6E; Tue, 26 Apr 2022 07:18:51 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: Aaron Conole , Michael Santana , Ruifeng Wang , Jan Viktorin , Bruce Richardson , David Christensen Subject: [PATCH 1/2] ci: switch to Ubuntu 20.04 Date: Tue, 26 Apr 2022 09:18:27 +0200 Message-Id: <20220426071828.1810-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 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. Signed-off-by: David Marchand Acked-by: Aaron Conole --- .ci/linux-build.sh | 7 ++---- .github/workflows/build.yml | 22 +++++++++---------- config/arm/arm64_armv8_linux_clang_ubuntu2004 | 1 + .../ppc/ppc64le-power8-linux-gcc-ubuntu2004 | 1 + 4 files changed, 14 insertions(+), 17 deletions(-) create mode 120000 config/arm/arm64_armv8_linux_clang_ubuntu2004 create mode 120000 config/ppc/ppc64le-power8-linux-gcc-ubuntu2004 diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 6a937611fa..30119b61ba 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -38,18 +38,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_ubuntu2004" 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-ubuntu2004" 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_ubuntu2004 b/config/arm/arm64_armv8_linux_clang_ubuntu2004 new file mode 120000 index 0000000000..01f5b7643e --- /dev/null +++ b/config/arm/arm64_armv8_linux_clang_ubuntu2004 @@ -0,0 +1 @@ +arm64_armv8_linux_clang_ubuntu1804 \ No newline at end of file diff --git a/config/ppc/ppc64le-power8-linux-gcc-ubuntu2004 b/config/ppc/ppc64le-power8-linux-gcc-ubuntu2004 new file mode 120000 index 0000000000..9d6139a19b --- /dev/null +++ b/config/ppc/ppc64le-power8-linux-gcc-ubuntu2004 @@ -0,0 +1 @@ +ppc64le-power8-linux-gcc-ubuntu1804 \ No newline at end of file From patchwork Tue Apr 26 07:18:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 110255 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 6D228A00C3; Tue, 26 Apr 2022 09:19:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6004340691; Tue, 26 Apr 2022 09:19:13 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 76F054068E for ; Tue, 26 Apr 2022 09:19:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1650957552; 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=eP1N9CELhfcuzclBPOgrIlodNKqlxBIvBOC2QVB5W7I=; b=AQAwR6b2ib0tm1XTemNiNK+GUt6RlppQ/GaqnfI6NEyLXTSs53oCyJA+R4h3bQHsfZDpTx oNEVq4nNdCShrBQPPjKQyGgk9RG8n/40AToDfTVJna/3nYAVuEf2Spr5YW8t2b6yt/Wqnz JFxiPen/GMED3HKvGNULF7GBS1mqovw= 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-86-J8U6LrF9N5y9tjGRBQlFKQ-1; Tue, 26 Apr 2022 03:19:10 -0400 X-MC-Unique: J8U6LrF9N5y9tjGRBQlFKQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A3B8985A5BC; Tue, 26 Apr 2022 07:19:04 +0000 (UTC) Received: from dmarchan.remote.csb (unknown [10.40.193.200]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9D95D9E8F; Tue, 26 Apr 2022 07:19:00 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: Aaron Conole , Michael Santana Subject: [PATCH 2/2] ci: add mingw cross compilation in GHA Date: Tue, 26 Apr 2022 09:18:28 +0200 Message-Id: <20220426071828.1810-2-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.79 on 10.11.54.5 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 30119b61ba..06dd20772d 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -37,16 +37,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_ubuntu2004" + cross_file=config/arm/arm64_armv8_linux_clang_ubuntu2004 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-ubuntu2004" + cross_file=config/ppc/ppc64le-power8-linux-gcc-ubuntu2004 +fi + +if [ -n "$cross_file" ]; then + OPTS="$OPTS --cross-file $cross_file" fi if [ "$BUILD_DOCS" = "true" ]; then @@ -59,7 +69,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" @@ -76,7 +88,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