valentina/.travis.yml
2020-11-16 13:22:51 +02:00

148 lines
5.0 KiB
YAML

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"