blob: aa62cde844b57f29410b261f4fee20f139ce82f7 [file] [log] [blame]
#
# 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
#
os: linux
sudo: true
language: c
cache: ccache
env:
- PROTON_VERSION=master BUILD_TYPE=Debug
- PROTON_VERSION=0.29.0 BUILD_TYPE=Coverage
- PROTON_VERSION=0.29.0 BUILD_TYPE=RelWithDebInfo
addons:
apt:
packages:
# Proton requirements
- cmake
- libsasl2-dev
- libssl-dev
- python2.7
- python2.7-dev
- sasl2-bin
- swig
# For apache RAT tool
- maven
# documentation
- asciidoc
- asciidoctor
- dblatex
# unit test requirement
- python-unittest2
# code coverage
- lcov
install:
- PREFIX=$PWD/install
- git clone --depth=10 --branch=$PROTON_VERSION https://github.com/apache/qpid-proton.git
# Build and install latest proton from source.
- mkdir qpid-proton/build
- pushd qpid-proton/build
- export PATH="/usr/bin:$PATH" # Avoid mismatched python interpreters in /opt
- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_PYTHON=YES -DBUILD_JAVASCRIPT=NO -DBUILD_CPP=NO -DBUILD_GO=NO -DBUILD_RUBY=NO -DBUILD_PHP=NO -DBUILD_PERL=NO
- cmake --build . --target install
- popd
before_script:
- PREFIX=$PWD/install
- source qpid-proton/build/config.sh
- mkdir build
- pushd build
- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DUSE_VALGRIND=NO -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DDISPATCH_TEST_TIMEOUT=600
- cmake --build . --target install
script:
- pushd ../qpid-proton
- echo $(echo "Current proton commit:") $(git rev-parse HEAD) "(${PROTON_VERSION})"
- popd
- ctest -V && if [ "$BUILD_TYPE" = "Coverage" ]; then cmake --build . --target coverage; fi
- popd
- mvn apache-rat:check
after_success:
- pushd build
- if [ "$BUILD_TYPE" = "Coverage" ]; then bash <(curl -s https://codecov.io/bash); fi
cache:
directories:
- $HOME/.m2/repository
before_cache:
- rm -rf $HOME/.m2/repository/org/apache/qpid/*