| # |
| # 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 |
| dist: trusty |
| sudo: true |
| language: c |
| cache: ccache |
| env: |
| - PROTON_VERSION=master BUILD_TYPE=Coverage |
| - PROTON_VERSION=0.26.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} |
| - 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 |