Skip to content

NO-JIRA: Travis CI update: #1510

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
197 changes: 73 additions & 124 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,83 +20,78 @@
language: c
cache: ccache
os: linux
dist: xenial
dist: focal
jobs:
fast_finish: true
allow_failures:
- os: osx
- arch: arm64
- arch: s390x
include:
- name: "apache-rat:check"
os: linux
env: []
language: java
addons:
apt:
packages: []
install: []
before_script: []
script:
- mvn apache-rat:check
before_cache:
- rm -rf $HOME/.m2/repository/org/apache/qpid/*
cache:
directories:
- $HOME/.m2/repository
after_script:
- cat target/rat.txt || true
# prepending /usr/bin to PATH to avoid mismatched python interpreters in /opt
- name: "qdrouterd:Debug (gcc on xenial)"
os: linux
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- PATH="/usr/bin:$PATH" PROTON_VERSION=main BUILD_TYPE=Debug
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan'
- name: "qdrouterd:Coverage"
os: linux
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0 BUILD_TYPE=Coverage
- name: "qdrouterd:RelWithDebInfo+MemoryDebug (gcc on xenial)"
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- QPID_SYSTEM_TEST_SKIP_HTTP2_LARGE_IMAGE_UPLOAD_TEST=True
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0 BUILD_TYPE=Coverage

- name: "qdrouterd:ASAN (clang13)"
os: linux
before_install:
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add -
- sudo add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main' -y
- sudo apt-get update -q
- sudo apt-get install -y clang-13 llvm-13-dev
# Install and use the latest Node.js LTS version
- nvm install "lts/*"
# Update pip, it may prevent issues later
- sudo apt-get install -y python3-pip
- python3 -m pip install --user --upgrade pip
- python3 -m pip install --user tox virtualenv
# Install quart, h2 to run the http2 tests.
- python3 -m pip install --user quart h2
# DISPATCH-1883: Install selectors to run tcp echo server/client tools
- python3 -m pip install --user selectors
# Install grpcio and protobuf to run the grpc tests.
- python3 -m pip install --user grpcio protobuf
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0 BUILD_TYPE=RelWithDebInfo
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG'
- name: "qdrouterd:RelWithDebInfo+MemoryDebug (clang on focal)"
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- QPID_SYSTEM_TEST_SKIP_HTTP2_LARGE_IMAGE_UPLOAD_TEST=True
- CC=clang-13
- CXX=clang++-13
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0 BUILD_TYPE=RelWithDebInfo
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG -DQD_ENABLE_ASSERTIONS=ON'

- name: "qdrouterd:TSAN (gcc-11)"
os: linux
dist: focal
before_install:
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key 2>/dev/null | sudo apt-key add -
- sudo add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-13 main' -y
- sudo apt-get update -q
- sudo apt-get install -y clang-13 llvm-13-dev
# Update pip, it may prevent issues later
- sudo apt-get install -y python3-pip
- python3 -m pip install --user --upgrade pip
- python3 -m pip install --user tox virtualenv
# Install quart, h2 to run the http2 tests.
- python3 -m pip install --user quart h2
# DISPATCH-1883: Install selectors to run tcp echo server/client tools
- python3 -m pip install --user selectors
# Install grpcio and protobuf to run the grpc tests.
- python3 -m pip install --user grpcio protobuf
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get update
- sudo apt-get install -y g++-11
# Install and use the latest Node.js LTS version
- nvm install "lts/*"
# Update pip, it may prevent issues later
- sudo apt-get install -y python3-pip
- python3 -m pip install --user --upgrade pip
- python3 -m pip install --user tox virtualenv
# Install quart to run the http2 tests.
- python3 -m pip install --user quart
# DISPATCH-1883: Install selectors to run tcp echo server/client tools
- python3 -m pip install --user selectors
# Install grpcio and protobuf to run the grpc tests.
- python3 -m pip install --user grpcio protobuf
env:
- CC=gcc-11
- CXX=g++-11
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- QPID_SYSTEM_TEST_SKIP_HTTP2_LARGE_IMAGE_UPLOAD_TEST=True
- CC=clang-13
- CXX=clang++-13
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0 BUILD_TYPE=RelWithDebInfo
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG'
- name: "qdrouterd:RelWithDebInfo+MemoryDebug (gcc on focal)"
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=tsan'

- name: "qdrouterd:ASAN on s390x"
arch: s390x
os: linux
dist: focal
before_install:
# Install and use the latest Node.js LTS version
- nvm install "lts/*"
Expand All @@ -115,12 +110,13 @@ jobs:
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- QPID_SYSTEM_TEST_SKIP_HTTP2_LARGE_IMAGE_UPLOAD_TEST=True
- PROTON_VERSION=main BUILD_TYPE=RelWithDebInfo
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG -DQD_ENABLE_ASSERTIONS=ON -DDISPATCH_TEST_TIMEOUT=500'
- name: "qdrouterd:RelWithDebInfo+MemoryDebug (clang on focal) on arm64"
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG -DQD_ENABLE_ASSERTIONS=ON'

- name: "qdrouterd:TSAN (clang12) on arm64"
arch: arm64
os: linux
dist: focal
compiler: clang
before_install:
- sudo apt-get install clang-12 llvm-12-dev
Expand All @@ -138,59 +134,11 @@ jobs:
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- QPID_SYSTEM_TEST_SKIP_HTTP2_LARGE_IMAGE_UPLOAD_TEST=True
- CC=clang-12
- CXX=clang++-12
- PROTON_VERSION=0.36.0 BUILD_TYPE=RelWithDebInfo
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG -DQD_ENABLE_ASSERTIONS=ON -DDISPATCH_TEST_TIMEOUT=500'
- name: "qdrouterd:Default Build"
os: linux
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0
- name: "qdrouterd:TSAN"
os: linux
dist: focal
before_install:
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test && sudo apt-get update
- sudo apt-get install -y g++-11
# Update pip, it may prevent issues later
- sudo apt-get install -y python3-pip
- python3 -m pip install --user --upgrade pip
- python3 -m pip install --user tox virtualenv
# Install quart to run the http2 tests.
- python3 -m pip install --user quart
# DISPATCH-1883: Install selectors to run tcp echo server/client tools
- python3 -m pip install --user selectors
# Install grpcio and protobuf to run the grpc tests.
- python3 -m pip install --user grpcio protobuf
env:
- CC=gcc-11
- CXX=g++-11
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- QPID_SYSTEM_TEST_SKIP_HTTP2_LARGE_IMAGE_UPLOAD_TEST=True
- PATH="/usr/bin:$PATH" PROTON_VERSION=0.36.0
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=tsan'
- name: "qdrouterd:RelWithDebInfo+MemoryDebug (clang on macOS)"
os: osx
osx_image: xcode11
env:
- QPID_SYSTEM_TEST_TIMEOUT=300
- QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_TEST=True
- PATH="/opt/local/bin:/opt/local/sbin:/usr/local/bin:$PATH" PROTON_VERSION=main
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG -DQD_ENABLE_ASSERTIONS=ON -DDISPATCH_TEST_TIMEOUT=500'
# exclude tests that require raw_connection functionality; not available in libuv proactor
- DISPATCH_CTEST_EXTRA='-E system_tests_tcp_adaptor|system_tests_http1_adaptor|system_tests_http2|system_tests_grpc|system_tests_http1_over_tcp'
before_install:
- bash ./macports.sh
- export COLUMNS=80
- yes | sudo port install cmake swig swig-python libuv jsoncpp libwebsockets nghttp2 cyrus-sasl2 pkgconfig python37 py37-pip
# set aliases for CMake's PythonInterp and PythonLibs to find MacPort's `python` on the path first
- sudo port select --set python python37
- sudo port select --set python3 python37
- python3 -m venv p3venv
- source p3venv/bin/activate
- DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=tsan'

addons:
apt:
Expand All @@ -202,23 +150,26 @@ addons:
- sasl2-bin
- swig
- libnghttp2-dev
# documentation
- asciidoc
- asciidoctor
- dblatex
- libwebsockets-dev
# unit test requirement
- tox
# code coverage
- lcov

before_install:
# Install and use the latest Node.js LTS version
- nvm install "lts/*"
# Install Python 3.6.8
# Travis by itself would activate a virtualenv; CMake < 3.15 deals badly with this
- curl -sSf --retry 5 -o python-3.6.8.tar.bz2 https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/16.04/x86_64/python-3.6.8.tar.bz2
- sudo tar xjf python-3.6.8.tar.bz2 --directory /
- PATH="/opt/python/3.6.8/bin:${PATH}"
# Install and use the latest Node.js LTS version
- nvm install "lts/*"
# Update pip, it may prevent issues later
- sudo apt-get install -y python3-pip
- python3 -m pip install --user --upgrade pip
- python3 -m pip install --user tox virtualenv
# Install quart, h2 to run the http2 tests.
- python3 -m pip install --user quart h2
# DISPATCH-1883: Install selectors to run tcp echo server/client tools
- python3 -m pip install --user selectors
# Install grpcio and protobuf to run the grpc tests.
- python3 -m pip install --user grpcio protobuf


install:
- NPROC=2
Expand All @@ -245,8 +196,6 @@ script:
- pushd ../qpid-proton
- echo $(echo "Current proton commit:") $(git rev-parse HEAD) "(${PROTON_VERSION})"
- popd
# Workaround on macOS for PROTON-808 Binaries have their library locations stripped
- if [[ "${OSTYPE}" == "darwin"* ]]; then install_name_tool -add_rpath $PREFIX/lib/. $PREFIX/lib/proton/bindings/python/_cproton.so; fi
- ctest --timeout 1200 -V ${DISPATCH_CTEST_EXTRA} && if [ "$BUILD_TYPE" = "Coverage" ]; then cmake --build . --target coverage; fi

after_success:
Expand Down
90 changes: 0 additions & 90 deletions macports.sh

This file was deleted.