From patchwork Wed Dec 21 17:51:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 1718420 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=BrT6RiIb; dkim-atps=neutral Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ncgzq0gRCz23dC for ; Thu, 22 Dec 2022 04:53:58 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id DD4DD404A3; Wed, 21 Dec 2022 17:53:56 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org DD4DD404A3 Authentication-Results: smtp2.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=BrT6RiIb X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OK1Rg4H08trM; Wed, 21 Dec 2022 17:53:55 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 88EC7400A6; Wed, 21 Dec 2022 17:53:54 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 88EC7400A6 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 0197BC0071; Wed, 21 Dec 2022 17:53:51 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id C91A0C0070 for ; Wed, 21 Dec 2022 17:51:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 8F72160BA8 for ; Wed, 21 Dec 2022 17:51:52 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 8F72160BA8 Authentication-Results: smtp3.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=BrT6RiIb X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4kd5WOe5CblB for ; Wed, 21 Dec 2022 17:51:49 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org D782860899 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp3.osuosl.org (Postfix) with ESMTPS id D782860899 for ; Wed, 21 Dec 2022 17:51:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1671645107; 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=0NoOmue2OMN67btC+TDAqBbGF5ppcn879Et1pQxto8I=; b=BrT6RiIb0U3Cf+ZDSIbV+lPXUfvtsjlr4Tr9TMGBj2QeQbo/PnnWYDl0BeD7QeGXVLU2sx 9Fy/AfxaM5VB1/lGS4fQ5JW4R0xx7GcU1YuEaApEn1nrVK1TbNp75yrSW5GIDiMjxQfOH7 Lq8glcN5qt+hSlgJ7vAegLyIpBkPMF0= 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-631-u965F_foPea5fAHntF80mQ-1; Wed, 21 Dec 2022 12:51:44 -0500 X-MC-Unique: u965F_foPea5fAHntF80mQ-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 4E92D857D0D; Wed, 21 Dec 2022 17:51:44 +0000 (UTC) Received: from dmarchan.redhat.com (ovpn-193-206.brq.redhat.com [10.40.193.206]) by smtp.corp.redhat.com (Postfix) with ESMTP id 566C439D7C; Wed, 21 Dec 2022 17:51:42 +0000 (UTC) From: David Marchand To: dev@openvswitch.org Date: Wed, 21 Dec 2022 18:51:20 +0100 Message-Id: <20221221175120.445104-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Cc: i.maximets@ovn.org Subject: [ovs-dev] [PATCH v2] travis: Drop support. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Following a change in the terms of use, free Travis credits are really too low for a realistic usage by OVS contributors. As a consequence, testing OVS with Travis has been abandonned by most (if not all) contributors to the project. Drop the Travis configuration from our repository, clean references in the documentation and move GHA specifics to the association yml. Acked-by: Aaron Conole Signed-off-by: David Marchand --- Changes since v1: - dropped checks in OSX build, - moved 32-bits libraries installation out of he generic prepare script, --- .ci/linux-build.sh | 31 +--------- .ci/linux-prepare.sh | 22 +------ .ci/osx-build.sh | 15 ----- .github/workflows/build-and-test.yml | 4 ++ .travis.yml | 57 ------------------- .../contributing/submitting-patches.rst | 7 +-- Documentation/topics/testing.rst | 40 ------------- Makefile.am | 1 - NEWS | 2 + README.rst | 2 - 10 files changed, 14 insertions(+), 167 deletions(-) delete mode 100644 .travis.yml diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 4851096723..c06186ce1c 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -7,21 +7,6 @@ CFLAGS_FOR_OVS="-g -O2" SPARSE_FLAGS="" EXTRA_OPTS="--enable-Werror" -on_exit() { - if [ $? = 0 ]; then - exit - fi - FILES_TO_PRINT="config.log" - FILES_TO_PRINT="$FILES_TO_PRINT */_build/sub/tests/testsuite.log" - - for pr_file in $FILES_TO_PRINT; do - cat "$pr_file" 2>/dev/null - done -} -# We capture the error logs as artifacts in Github Actions, no need to dump -# them via a EXIT handler. -[ -n "$GITHUB_WORKFLOW" ] || trap on_exit EXIT - function install_kernel() { if [[ "$1" =~ ^5.* ]]; then @@ -98,19 +83,9 @@ function install_kernel() function install_dpdk() { local DPDK_VER=$1 - local VERSION_FILE="dpdk-dir/travis-dpdk-cache-version" + local VERSION_FILE="dpdk-dir/cached-version" local DPDK_OPTS="" - local DPDK_LIB="" - - if [ -z "$TRAVIS_ARCH" ] || - [ "$TRAVIS_ARCH" == "amd64" ]; then - DPDK_LIB=$(pwd)/dpdk-dir/build/lib/x86_64-linux-gnu - elif [ "$TRAVIS_ARCH" == "aarch64" ]; then - DPDK_LIB=$(pwd)/dpdk-dir/build/lib/aarch64-linux-gnu - else - echo "Target is unknown" - exit 1 - fi + local DPDK_LIB=$(pwd)/dpdk-dir/build/lib/x86_64-linux-gnu if [ "$DPDK_SHARED" ]; then EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=shared" @@ -245,7 +220,7 @@ elif [ "$M32" ]; then # Adding m32 flag directly to CC to avoid any posiible issues with API/ABI # difference on 'configure' and 'make' stages. export CC="$CC -m32" -elif [ "$TRAVIS_ARCH" != "aarch64" ]; then +else OPTS="--enable-sparse" if [ "$AFXDP" ]; then # netdev-afxdp uses memset for 64M for umem initialization. diff --git a/.ci/linux-prepare.sh b/.ci/linux-prepare.sh index 11d75a6d59..f414a879c7 100755 --- a/.ci/linux-prepare.sh +++ b/.ci/linux-prepare.sh @@ -10,14 +10,11 @@ fi # Build and install sparse. # -# Explicitly disable sparse support for llvm because some travis -# environments claim to have LLVM (llvm-config exists and works) but -# linking against it fails. # Disabling sqlite support because sindex build fails and we don't # really need this utility being installed. git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git cd sparse -make -j4 HAVE_LLVM= HAVE_SQLITE= install +make -j4 HAVE_SQLITE= install cd .. # Installing wheel separately because it may be needed to build some @@ -29,23 +26,8 @@ pip3 install --disable-pip-version-check --user \ flake8 'hacking>=3.0' netaddr pyparsing sphinx setuptools pyelftools pip3 install --user 'meson==0.53.2' -if [ "$M32" ]; then - # Installing 32-bit libraries. - pkgs="gcc-multilib" - if [ -z "$GITHUB_WORKFLOW" ]; then - # 32-bit and 64-bit libunwind can not be installed at the same time. - # This will remove the 64-bit libunwind and install 32-bit version. - # GitHub Actions doesn't have 32-bit versions of these libs. - pkgs=$pkgs" libunwind-dev:i386 libunbound-dev:i386" - fi - - sudo apt-get install -y $pkgs -fi - # Install python test dependencies pip3 install -r python/test_requirements.txt -# IPv6 is supported by kernel but disabled in TravisCI images: -# https://github.com/travis-ci/travis-ci/issues/8891 -# Enable it to avoid skipping of IPv6 related tests. +# Make sure IPv6 is enabled to avoid skipping of IPv6 related tests. sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 diff --git a/.ci/osx-build.sh b/.ci/osx-build.sh index f8facebeb0..09df61826f 100755 --- a/.ci/osx-build.sh +++ b/.ci/osx-build.sh @@ -5,21 +5,6 @@ set -o errexit CFLAGS="-Werror $CFLAGS" EXTRA_OPTS="" -on_exit() { - if [ $? = 0 ]; then - exit - fi - FILES_TO_PRINT="config.log" - FILES_TO_PRINT="$FILES_TO_PRINT */_build/sub/tests/testsuite.log" - - for pr_file in $FILES_TO_PRINT; do - cat "$pr_file" 2>/dev/null - done -} -# We capture the error logs as artifacts in Github Actions, no need to dump -# them via a EXIT handler. -[ -n "$GITHUB_WORKFLOW" ] || trap on_exit EXIT - function configure_ovs() { ./boot.sh && ./configure $* diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index e08d7b1bac..1949d12001 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -133,8 +133,12 @@ jobs: - name: install common dependencies run: sudo apt install -y ${{ env.dependencies }} - name: install libunbound libunwind + # GitHub Actions doesn't have 32-bit versions of these libraries. if: matrix.m32 == '' run: sudo apt install -y libunbound-dev libunwind-dev + - name: install 32-bit libraries + if: matrix.m32 != '' + run: sudo apt install -y gcc-multilib - name: prepare run: ./.ci/linux-prepare.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c7aeede06e..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,57 +0,0 @@ -language: c - -os: - - linux - -cache: - directories: - - dpdk-dir - -addons: - apt: - packages: - - bc - - libssl-dev - - llvm-dev - - libjemalloc1 - - libjemalloc-dev - - libnuma-dev - - libpcap-dev - - python3-pip - - python3-sphinx - - libelf-dev - - selinux-policy-dev - - libunbound-dev - - libunwind-dev - - python3-setuptools - - python3-wheel - - ninja-build - -before_install: ./.ci/${TRAVIS_OS_NAME}-prepare.sh - -before_script: export PATH=$PATH:$HOME/bin - -matrix: - include: - - arch: arm64 - compiler: gcc - env: TESTSUITE=1 DPDK=1 - - arch: arm64 - compiler: gcc - env: KERNEL_LIST="5.5 4.19" - - arch: arm64 - compiler: gcc - env: KERNEL_LIST="4.9 3.16" - - arch: arm64 - compiler: gcc - env: DPDK_SHARED=1 - - arch: arm64 - compiler: clang - env: OPTS="--disable-ssl" - -script: ./.ci/${TRAVIS_OS_NAME}-build.sh $OPTS - -notifications: - email: - recipients: - - ovs-build@openvswitch.org diff --git a/Documentation/internals/contributing/submitting-patches.rst b/Documentation/internals/contributing/submitting-patches.rst index 9d71898271..8a8bc11b0a 100644 --- a/Documentation/internals/contributing/submitting-patches.rst +++ b/Documentation/internals/contributing/submitting-patches.rst @@ -68,10 +68,9 @@ Testing is also important: feature. A bug fix patch should preferably add a test that would fail if the bug recurs. -If you are using GitHub, then you may utilize the travis-ci.org and the GitHub -Actions CI build systems. They will run some of the above tests automatically -when you push changes to your repository. See the "Continuous Integration with -Travis-CI" in :doc:`/topics/testing` for details on how to set it up. +If you are using GitHub, then you may utilize the GitHub Actions CI build +systems. They will run some of the above tests automatically +when you push changes to your repository. Email Subject ------------- diff --git a/Documentation/topics/testing.rst b/Documentation/topics/testing.rst index abccce1ee6..bc41b217a5 100644 --- a/Documentation/topics/testing.rst +++ b/Documentation/topics/testing.rst @@ -474,46 +474,6 @@ You should invoke scan-view to view analysis results. The last line of output from ``clang-analyze`` will list the command (containing results directory) that you should invoke to view the results on a browser. -Continuous Integration with Travis CI -------------------------------------- - -A .travis.yml file is provided to automatically build Open vSwitch with various -build configurations and run the testsuite using Travis CI. Builds will be -performed with gcc, sparse and clang with the -Werror compiler flag included, -therefore the build will fail if a new warning has been introduced. - -The CI build is triggered via git push (regardless of the specific branch) or -pull request against any Open vSwitch GitHub repository that is linked to -travis-ci. - -Instructions to setup travis-ci for your GitHub repository: - -1. Go to https://travis-ci.org/ and sign in using your GitHub ID. -2. Go to the "Repositories" tab and enable the ovs repository. You may disable - builds for pushes or pull requests. -3. In order to avoid forks sending build failures to the upstream mailing list, - the notification email recipient is encrypted. If you want to receive email - notification for build failures, replace the encrypted string: - - 1. Install the travis-ci CLI (Requires ruby >=2.0): gem install travis - 2. In your Open vSwitch repository: travis encrypt mylist@mydomain.org - 3. Add/replace the notifications section in .travis.yml and fill in the - secure string as returned by travis encrypt:: - - notifications: - email: - recipients: - - secure: "....." - - .. note:: - You may remove/omit the notifications section to fall back to default - notification behaviour which is to send an email directly to the author and - committer of the failing commit. Note that the email is only sent if the - author/committer have commit rights for the particular GitHub repository. - -4. Pushing a commit to the repository which breaks the build or the - testsuite will now trigger a email sent to mylist@mydomain.org - vsperf ------ diff --git a/Makefile.am b/Makefile.am index d438538674..19d6066793 100644 --- a/Makefile.am +++ b/Makefile.am @@ -81,7 +81,6 @@ EXTRA_DIST = \ .ci/osx-prepare.sh \ .cirrus.yml \ .github/workflows/build-and-test.yml \ - .travis.yml \ appveyor.yml \ boot.sh \ poc/builders/Vagrantfile \ diff --git a/NEWS b/NEWS index c79d9f97dc..c0095c345d 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,8 @@ Post-v3.0.0 * New option '--dump-hugepages' to include hugepages in core dumps. This can assist with postmortem analysis involving DPDK, but may also produce significantly larger core dump files. + - Support for travis-ci.org based continuous integration builds has been + dropped. v3.0.0 - 15 Aug 2022 diff --git a/README.rst b/README.rst index 8fe01f4cf2..a60a314feb 100644 --- a/README.rst +++ b/README.rst @@ -8,8 +8,6 @@ Open vSwitch .. image:: https://github.com/openvswitch/ovs/workflows/Build%20and%20Test/badge.svg :target: https://github.com/openvswitch/ovs/actions -.. image:: https://travis-ci.org/openvswitch/ovs.png - :target: https://travis-ci.org/openvswitch/ovs .. image:: https://ci.appveyor.com/api/projects/status/github/openvswitch/ovs?branch=master&svg=true&retina=true :target: https://ci.appveyor.com/project/blp/ovs/history .. image:: https://api.cirrus-ci.com/github/openvswitch/ovs.svg