language: cpp jobs: include: - stage: main test os: linux dist: xenial compiler: clang env: - DEPLOY=false - CCACHE_CPP2=yes - RUN_TESTS=true cache: ccache: true directories: - "$HOME/.sonar/cache" - os: linux dist: bionic compiler: clang env: - DEPLOY=false - CCACHE_CPP2=yes - RUN_TESTS=true cache: ccache: true directories: - "$HOME/.sonar/cache" - os: osx compiler: clang env: - DEPLOY=true - LEGACY=false osx_image: xcode11 cache: directories: - $HOME/Library/Caches/Homebrew - /usr/local/Homebrew - os: osx compiler: clang env: - DEPLOY=true - LEGACY=true osx_image: xcode8 cache: directories: - $HOME/Library/Caches/Homebrew - /usr/local/Homebrew before_cache: - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi # Credit https://discourse.brew.sh/t/best-practice-for-homebrew-on-travis-brew-update-is-5min-to-build-time/5215/9 # Cache only .git files under "/usr/local/Homebrew" so "brew update" does not take 5min every build - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi before_install: - | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update; sudo apt-get install -y qtbase5-dev; sudo apt-get install -y libqt5svg5-dev; sudo apt-get install -y qt5-default; sudo apt-get install -y qttools5-dev-tools; sudo apt-get install -y libqt5xmlpatterns5-dev; sudo apt-get install -y libqt5core5a; sudo apt-get install -y libqt5gui5; sudo apt-get install -y libqt5printsupport5; sudo apt-get install -y libqt5svg5; sudo apt-get install -y libqt5widgets5; sudo apt-get install -y libqt5xml5; sudo apt-get install -y libqt5xmlpatterns5; sudo apt-get install -y xpdf; sudo apt-get install -y xvfb; wget https://launchpad.net/ubuntu/+archive/primary/+files/ccache_3.3.4-1_amd64.deb; sudo dpkg -i ccache_3.3.4-1_amd64.deb; else if [[ "$LEGACY" = false ]]; then brew update > /dev/null; brew install qt5; chmod -R 755 /usr/local/opt/qt5/* else unset SSL_CERT_FILE; HOMEBREW_NO_AUTO_UPDATE=1 brew install https://gist.githubusercontent.com/dismine/c3ac01de38e12edcf22d9e05791adf82/raw/f553c39bbc5f3a2b231a767924e846bdd2a56d8d/qt.rb; brew link qt --force; chmod -R 755 /usr/local/opt/qt/* fi fi before_script: - | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then uname -a; which qmake; else QTDIR="/usr/local/opt/qt5"; PATH="$QTDIR/bin:$PATH"; LDFLAGS=-L$QTDIR/lib; CPPFLAGS=-I$QTDIR/include; PKG_CONFIG_PATH=/usr/local/opt/qt5/lib/pkgconfig; fi - mkdir build - cd build - pwd - qmake --version - | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then if [[ "$RUN_TESTS" == "true" ]]; then qmake ../Valentina.pro -r -spec linux-clang CONFIG+=noDebugSymbols CONFIG+=checkWarnings; else qmake ../Valentina.pro -r -spec linux-clang CONFIG+=noDebugSymbols CONFIG+=checkWarnings CONFIG+=noTests; fi else qmake ../Valentina.pro -r CONFIG+=noDebugSymbols CONFIG+=no_ccache CONFIG+=checkWarnings CONFIG+=noTests; fi script: - "$CXX --version" - | if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j$(nproc); if [[ "$RUN_TESTS" == "true" ]]; then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$TRAVIS_BUILD_DIR/build/src/libs/vpropertyexplorer/bin:$TRAVIS_BUILD_DIR/build/src/libs/qmuparser/bin"; xvfb-run -a make --silent check TESTARGS="-silent"; fi else make -j1; fi notifications: email: recipients: - dismine@gmail.com on_success: change on_failure: always before_deploy: - | if [[ "$DEPLOY" == "true" ]]; then ../scripts/macfixqtdylibrpath.py $TRAVIS_BUILD_DIR/build/src/app/valentina/bin/Valentina.app; if [[ "$LEGACY" = false ]]; then tar -C $TRAVIS_BUILD_DIR/build/src/app/valentina/bin --exclude "*.DS_Store" -cvzf valentina-osx-${TRAVIS_COMMIT}.tar.gz Valentina.app/; else tar -C $TRAVIS_BUILD_DIR/build/src/app/valentina/bin --exclude "*.DS_Store" -cvzf valentina-osx-${TRAVIS_COMMIT}-legacy.tar.gz Valentina.app/; fi fi deploy: provider: bintray skip_cleanup: true file: "../share/bintray.json" user: dismine key: secure: q9rcswyUyOqHAnxL0FLEQ8tdFkE21kNlv/TUpZgk0MbcsWRhBWaKJVv5kz6ABkjeLMB7c7eS7KfYRui0RFBKHI7ZnpzHBZN4f1aGd/rf9m5qaZdKFFBlpz4tXPHvXOVyXRwOReqFj7brAz6NB+oqJN8HFA4Q1y039yZOaHt28JkwYSDqS5lRvbwegYS8kaJupGZcm8NaNeB8tuXuZ/8DIQpZdVKmBUwpgpPAewCEqYP4z9DUpsmMZ5h63g7mJKm9di91cQr65eS24io6m1ZfAx8M6kTaKwyR5nz8a8bnqR48AAnbNoM8Xj1sgJqnT40DZKPCNr7KL3JSNRglKNgHVMFBOj0v9F5YxsDs8twWuqFVbywB+lNSHDyvGVgmS2+EdwKLQT0YBxYfIL1nh34ed7GffZZmBcAJGfxo8ieAMRgyylSyQIHJ0ZBl6X6DzOvLpvFlcva9yhqZfkx3P/Dgarqklnj3DdvzTDW2vxCT4yVLpMySlBXW2I3s7m8xpOjZbM7eZfMZkwjd/e8IYp8jxdQnxlzNe15mzxSXnZjLz3Rwi1qzhJZyZf4OGVxuQuR9oW+c5q55OOY5hImtZELlJyu1K0zKTd85g0D+WwKj4J30J0QWl1pxZlln59Q5cMmpyQ7sc8zN1WPoWAEyavwPrf4028TpEJqaUw/0cQGg9I4= on: all_branches: true condition: "$DEPLOY = true"