| # 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: cpp |
| cache: |
| ccache: true |
| directories: |
| - $HOME/Library/Caches/Homebrew |
| - $TRAVIS_BUILD_DIR/bison-3.0.5 |
| timeout: 300 |
| |
| env: |
| global: |
| CMAKE_BUILD_OPTIONS="-DENABLE_PCAP=TRUE" |
| |
| matrix: |
| include: |
| - os: linux |
| dist: xenial |
| sudo: required |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.8 |
| - g++-4.8 |
| - bison |
| - flex |
| - libboost-all-dev |
| - uuid-dev |
| - doxygen |
| - openssl |
| - libcurl4-openssl-dev |
| - ccache |
| - libpython3-dev |
| - liblua5.1-0-dev |
| - libusb-1.0-0-dev |
| - libpng12-dev |
| - libpcap-dev |
| - libssh2-1-dev |
| before_install: |
| # Establish updated toolchain as default |
| - sudo unlink /usr/bin/gcc && sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc |
| - sudo unlink /usr/bin/g++ && sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++ |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS= -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF .. && cmake --build . --parallel 4 && sudo make test ARGS="-j2 --output-on-failure" |
| - os: linux |
| dist: trusty |
| sudo: required |
| addons: |
| apt: |
| sources: |
| - ubuntu-toolchain-r-test |
| packages: |
| - gcc-4.8 |
| - g++-4.8 |
| - bison |
| - flex |
| - libboost-all-dev |
| - uuid-dev |
| - doxygen |
| - openssl |
| - libcurl4-openssl-dev |
| - ccache |
| - libpython3-dev |
| - liblua5.1-0-dev |
| - libusb-1.0-0-dev |
| - libpng12-dev |
| - libpcap-dev |
| - libssh2-1-dev |
| before_install: |
| # Establish updated toolchain as default |
| - sudo unlink /usr/bin/gcc && sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc |
| - sudo unlink /usr/bin/g++ && sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++ |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS= .. && make -j4 VERBOSE=1 && sudo make test ARGS="-j2 --output-on-failure" |
| - os: linux |
| name: trusty static build with tests |
| dist: trusty |
| sudo: required |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS= .. && make -j4 VERBOSE=1 && sudo make test ARGS="-j2 --output-on-failure" |
| - os: linux |
| name: xenial shared build with tests |
| dist: xenial |
| sudo: required |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS= .. && cmake --build . --parallel 4 && sudo make test ARGS="-j4 --output-on-failure" |
| - os: linux |
| name: debian static package build |
| dist: trusty |
| sudo: required |
| services: |
| - docker |
| script: |
| - mkdir -p build && cd build && cmake .. && make debian |
| - os: linux |
| name: centos static package biuld |
| dist: trusty |
| sudo: required |
| services: |
| - docker |
| script: |
| - mkdir -p build && cd build && cmake .. && make centos |
| - os: linux |
| name: fedora static package build |
| dist: trusty |
| sudo: required |
| services: |
| - docker |
| script: |
| - mkdir -p build && cd build && cmake .. && make fedora |
| - os: linux |
| name: bionic static package build |
| dist: trusty |
| sudo: required |
| services: |
| - docker |
| script: |
| - mkdir -p build && cd build && cmake .. && make u18 |
| - os: linux |
| dist: xenial |
| sudo: required |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DUSE_SHARED_LIBS=ON .. && cmake --build . --parallel 4 && sudo make test ARGS="-j4 --output-on-failure" |
| - os: osx |
| osx_image: xcode9.2 |
| env: |
| - CMAKE_BUILD_OPTIONS="${CMAKE_BUILD_OPTIONS} -DENABLE_LUA_SCRIPTING=1" |
| # https://docs.travis-ci.com/user/osx-ci-environment/#Homebrew |
| before_install: |
| - brew update |
| - package='ossp-uuid'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='boost'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='cmake'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='flex'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package}; brew link flex --force |
| - package='ccache'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='openssl'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='doxygen'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='graphviz'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='python'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='lua'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libusb'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libpng'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libpcap'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='xz'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libssh2'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF .. && cmake --build . --parallel 4 && sudo make test ARGS="-j4 --output-on-failure" && make linter |
| - os: osx |
| osx_image: xcode10 |
| env: |
| - CMAKE_BUILD_OPTIONS="${CMAKE_BUILD_OPTIONS} -DENABLE_LUA_SCRIPTING=1" |
| # https://docs.travis-ci.com/user/osx-ci-environment/#Homebrew |
| before_install: |
| - brew update |
| - package='ossp-uuid'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='boost'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='cmake'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='flex'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package}; brew link flex --force |
| - package='ccache'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='openssl'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='doxygen'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='graphviz'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='python'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='lua'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libusb'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libpng'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libpcap'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='xz'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| - package='libssh2'; [[ $(brew ls --versions ${package}) ]] && { brew outdated ${package} || brew upgrade ${package}; } || brew install ${package} |
| script: |
| - ./bootstrap.sh -e -t && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_RULE_MESSAGES=OFF .. && cmake --build . --parallel 4 && sudo make test ARGS="-j4 --output-on-failure" && make linter |