Nut/.travis.yml

80 lines
3.1 KiB
YAML

#Based on https://github.com/pcolby/libqtaws/blob/master/.travis.yml
language: cpp
branches:
only:
- master
os:
- linux
- osx
dist: trusty
compiler:
- clang
- gcc
env:
matrix:
- QT=59 BREW=ex PPA=beineri/opt-qt591-trusty
- QT=59 BREW=ex PPA=beineri/opt-qt592-trusty
- QT=59 BREW=ex PPA=beineri/opt-qt593-trusty
- QT=59 BREW=ex PPA=beineri/opt-qt594-trusty
- QT=59 BREW=ex PPA=beineri/opt-qt595-trusty
- QT=59 BREW=ex PPA=beineri/opt-qt596-trusty
- QT=510 BREW=ex PPA=beineri/opt-qt-5.10.1-trusty
matrix:
exclude:
- { os: osx, env: QT=59 BREW=ex PPA=beineri/opt-qt591-trusty }
- { os: osx, env: QT=59 BREW=ex PPA=beineri/opt-qt592-trusty }
- { os: osx, env: QT=59 BREW=ex PPA=beineri/opt-qt593-trusty }
- { os: osx, env: QT=59 BREW=ex PPA=beineri/opt-qt594-trusty }
- { os: osx, env: QT=59 BREW=ex PPA=beineri/opt-qt595-trusty }
- { os: osx, env: QT=59 BREW=ex PPA=beineri/opt-qt596-trusty }
- { os: osx, env: QT=510 BREW=ex PPA=beineri/opt-qt-5.10.1-trusty }
addons:
coverity_scan:
project:
name: "HamedMasafi/Nut"
description: "Build submitted via Travis CI"
# notification_email: em@h
build_command_prepend: >
cp -a "$TRAVIS_BUILD_DIR" "$TRAVIS_BUILD_DIR-scan" &&
pushd "$TRAVIS_BUILD_DIR-scan" &&
qmake -qt=qt5 -Wall -Wlogic -Wparser CONFIG+=debug_and_release
build_command: make all
#branch_pattern: coverity
before_install:
- '[[ "$TRAVIS_OS_NAME" != linux || -z "$PPA" ]] || sudo add-apt-repository -y ppa:$PPA'
- '[ "$TRAVIS_OS_NAME" != linux ] || sudo apt-get -qy update'
- '[ "$TRAVIS_OS_NAME" != osx ] || brew update'
install:
- '[ "$TRAVIS_OS_NAME" != linux ] || sudo apt-get -qy install cppcheck doxygen graphviz lcov'
- '[[ "$TRAVIS_OS_NAME" != linux || "$PPA" != */opt-* ]] || sudo apt-get -qy install qt${QT}base qt${QT}xmlpatterns'
- '[[ "$TRAVIS_OS_NAME" != linux || "$PPA" == */opt-* ]] || sudo apt-get -qy install qt5-qmake qtbase5-dev libqt5xmlpatterns5-dev'
- '[ "$TRAVIS_OS_NAME" != linux ] || gem install lcoveralls'
- '[ "$TRAVIS_OS_NAME" != osx ] || brew install cppcheck doxygen graphviz qt$BREW'
- '[ "$TRAVIS_OS_NAME" != osx ] || brew link --force qt$BREW'
- qmake -v
before_script:
- '[[ "$TRAVIS_OS_NAME" != linux || "$CXX" != clang++ ]] || export QMAKESPEC=linux-clang'
- '[[ "$TRAVIS_OS_NAME" != linux || "$CXX" != g++ ]] || export QMAKESPEC=linux-g++'
- '[[ "$TRAVIS_OS_NAME" != osx || "$CXX" != clang++ ]] || export QMAKESPEC=macx-clang'
- '[[ "$TRAVIS_OS_NAME" != osx || "$CXX" != g++ ]] || export QMAKESPEC=macx-g++'
- '[[ "$TRAVIS_OS_NAME" != linux || "$PPA" != */opt-* ]] || . /opt/qt$QT/bin/qt$QT-env.sh'
- '[[ "$TRAVIS_OS_NAME" != linux || "$PPA" == */opt-* ]] || export QT_SELECT=qt5'
- mkdir -p "$TRAVIS_BUILD_DIR-build"
- cd "$TRAVIS_BUILD_DIR-build"
- echo 'QT -= gui' >> "$TRAVIS_BUILD_DIR/ci-test-init.pri"
- qmake -r -Wall -Wlogic -Wparser CONFIG+=debug_and_release "$TRAVIS_BUILD_DIR/nut.pro"
script:
- make -C "$TRAVIS_BUILD_DIR-build" all
- make -C "$TRAVIS_BUILD_DIR-build" -j2 check TESTARGS=-silent