#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License
#

language: c
cache: ccache
os: linux
dist: xenial
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)"
    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=RelWithDebInfo
    - DISPATCH_CMAKE_ARGS='-DRUNTIME_CHECK=asan -DCMAKE_C_FLAGS=-DQD_MEMORY_DEBUG'
  - name: "qdrouterd:RelWithDebInfo+MemoryDebug (clang on focal)"
    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
    env:
    - QPID_SYSTEM_TEST_TIMEOUT=300
    - QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_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)"
    arch: s390x
    os: linux
    dist: focal
    before_install:
      # Install and use the latest Node.js LTS version
      - nvm install "lts/*"
      # Update pip, it may prevent issues later
      - python3 -m pip install --user --upgrade pip
      - python3 -m pip install --user tox virtualenv
      #  Binary wheel is not available in PyPI for s390x and source install requires fetching git submodules first
    env:
      - QPID_SYSTEM_TEST_TIMEOUT=300
      - QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_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"
    arch: arm64
    os: linux
    dist: focal
    compiler: clang
    before_install:
      - sudo apt-get install clang-12 llvm-12-dev
      # Install and use the latest Node.js LTS version
      - nvm install "lts/*"
      # Update pip, it may prevent issues later
      - python3 -m pip install --user --upgrade pip
      - python3 -m pip install --user tox virtualenv
    env:
      - QPID_SYSTEM_TEST_TIMEOUT=300
      - QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_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
    env:
    - CC=gcc-11
    - CXX=g++-11
    - QPID_SYSTEM_TEST_TIMEOUT=300
    - QPID_SYSTEM_TEST_SKIP_FALLBACK_SWITCHOVER_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
    before_install:
    - bash ./macports.sh
    - export COLUMNS=80
    - yes | sudo port install cmake swig swig-python libuv jsoncpp libwebsockets 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

addons:
  apt:
    packages:
    # Proton requirements
    - cmake
    - libsasl2-dev
    - libssl-dev
    - sasl2-bin
    - swig
    # documentation
    - asciidoc
    - asciidoctor
    - dblatex
    # 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:
- NPROC=2
- PREFIX=$PWD/install
- git clone --depth=10 --branch=$PROTON_VERSION https://github.com/apache/qpid-proton.git
- cmake -version

# Build and install proton from source.
- mkdir qpid-proton/build
- pushd qpid-proton/build
- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_BINDINGS=python
- cmake --build . --target install -- -j $NPROC
- popd

before_script:
- source qpid-proton/build/config.sh
- mkdir build
- pushd build
- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${DISPATCH_CMAKE_ARGS}
- . config.sh
- make -j $NPROC

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:
- cd ${TRAVIS_BUILD_DIR}/build
- if [ "$BUILD_TYPE" = "Coverage" ]; then bash <(curl -s https://codecov.io/bash); fi
