2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-30 13:58:14 +00:00

travis: Drop support.

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 abandoned 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 <aconole@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
David Marchand
2022-12-21 18:51:20 +01:00
committed by Ilya Maximets
parent d5469cb743
commit 9a86a3dd68
10 changed files with 14 additions and 167 deletions

View File

@@ -7,21 +7,6 @@ CFLAGS_FOR_OVS="-g -O2"
SPARSE_FLAGS="" SPARSE_FLAGS=""
EXTRA_OPTS="--enable-Werror" 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() function install_kernel()
{ {
if [[ "$1" =~ ^5.* ]]; then if [[ "$1" =~ ^5.* ]]; then
@@ -98,19 +83,9 @@ function install_kernel()
function install_dpdk() function install_dpdk()
{ {
local DPDK_VER=$1 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_OPTS=""
local DPDK_LIB="" local DPDK_LIB=$(pwd)/dpdk-dir/build/lib/x86_64-linux-gnu
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
if [ "$DPDK_SHARED" ]; then if [ "$DPDK_SHARED" ]; then
EXTRA_OPTS="$EXTRA_OPTS --with-dpdk=shared" 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 # Adding m32 flag directly to CC to avoid any posiible issues with API/ABI
# difference on 'configure' and 'make' stages. # difference on 'configure' and 'make' stages.
export CC="$CC -m32" export CC="$CC -m32"
elif [ "$TRAVIS_ARCH" != "aarch64" ]; then else
OPTS="--enable-sparse" OPTS="--enable-sparse"
if [ "$AFXDP" ]; then if [ "$AFXDP" ]; then
# netdev-afxdp uses memset for 64M for umem initialization. # netdev-afxdp uses memset for 64M for umem initialization.

View File

@@ -10,14 +10,11 @@ fi
# Build and install sparse. # 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 # Disabling sqlite support because sindex build fails and we don't
# really need this utility being installed. # really need this utility being installed.
git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git
cd sparse cd sparse
make -j4 HAVE_LLVM= HAVE_SQLITE= install make -j4 HAVE_SQLITE= install
cd .. cd ..
# Installing wheel separately because it may be needed to build some # 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 flake8 'hacking>=3.0' netaddr pyparsing sphinx setuptools pyelftools
pip3 install --user 'meson==0.53.2' 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 # Install python test dependencies
pip3 install -r python/test_requirements.txt pip3 install -r python/test_requirements.txt
# IPv6 is supported by kernel but disabled in TravisCI images: # Make sure IPv6 is enabled to avoid skipping of IPv6 related tests.
# https://github.com/travis-ci/travis-ci/issues/8891
# Enable it to avoid skipping of IPv6 related tests.
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0

View File

@@ -5,21 +5,6 @@ set -o errexit
CFLAGS="-Werror $CFLAGS" CFLAGS="-Werror $CFLAGS"
EXTRA_OPTS="" 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() function configure_ovs()
{ {
./boot.sh && ./configure $* ./boot.sh && ./configure $*

View File

@@ -133,8 +133,12 @@ jobs:
- name: install common dependencies - name: install common dependencies
run: sudo apt install -y ${{ env.dependencies }} run: sudo apt install -y ${{ env.dependencies }}
- name: install libunbound libunwind - name: install libunbound libunwind
# GitHub Actions doesn't have 32-bit versions of these libraries.
if: matrix.m32 == '' if: matrix.m32 == ''
run: sudo apt install -y libunbound-dev libunwind-dev 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 - name: prepare
run: ./.ci/linux-prepare.sh run: ./.ci/linux-prepare.sh

View File

@@ -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

View File

@@ -68,10 +68,9 @@ Testing is also important:
feature. A bug fix patch should preferably add a test that would feature. A bug fix patch should preferably add a test that would
fail if the bug recurs. fail if the bug recurs.
If you are using GitHub, then you may utilize the travis-ci.org and the GitHub If you are using GitHub, then you may utilize the GitHub Actions CI build
Actions CI build systems. They will run some of the above tests automatically systems. They will run some of the above tests automatically
when you push changes to your repository. See the "Continuous Integration with when you push changes to your repository.
Travis-CI" in :doc:`/topics/testing` for details on how to set it up.
Email Subject Email Subject
------------- -------------

View File

@@ -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) from ``clang-analyze`` will list the command (containing results directory)
that you should invoke to view the results on a browser. 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 vsperf
------ ------

View File

@@ -81,7 +81,6 @@ EXTRA_DIST = \
.ci/osx-prepare.sh \ .ci/osx-prepare.sh \
.cirrus.yml \ .cirrus.yml \
.github/workflows/build-and-test.yml \ .github/workflows/build-and-test.yml \
.travis.yml \
appveyor.yml \ appveyor.yml \
boot.sh \ boot.sh \
poc/builders/Vagrantfile \ poc/builders/Vagrantfile \

2
NEWS
View File

@@ -20,6 +20,8 @@ Post-v3.0.0
* New option '--dump-hugepages' to include hugepages in core dumps. This * New option '--dump-hugepages' to include hugepages in core dumps. This
can assist with postmortem analysis involving DPDK, but may also produce can assist with postmortem analysis involving DPDK, but may also produce
significantly larger core dump files. significantly larger core dump files.
- Support for travis-ci.org based continuous integration builds has been
dropped.
v3.0.0 - 15 Aug 2022 v3.0.0 - 15 Aug 2022

View File

@@ -8,8 +8,6 @@ Open vSwitch
.. image:: https://github.com/openvswitch/ovs/workflows/Build%20and%20Test/badge.svg .. image:: https://github.com/openvswitch/ovs/workflows/Build%20and%20Test/badge.svg
:target: https://github.com/openvswitch/ovs/actions :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 .. 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 :target: https://ci.appveyor.com/project/blp/ovs/history
.. image:: https://api.cirrus-ci.com/github/openvswitch/ovs.svg .. image:: https://api.cirrus-ci.com/github/openvswitch/ovs.svg