X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=.travis.yml;h=ef8102e52782e487e9a5aafc7663e2535958f759;hb=3eaaa62f2b250c286d7499fd1790de7fd98200af;hp=defbb623915089f906b92a04725aff7afe9a6615;hpb=bc715c756677bee7cdb7109cc656e3e5f526c988;p=quassel.git diff --git a/.travis.yml b/.travis.yml index defbb623..ef8102e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,29 +1,81 @@ -before_install: - - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - - sudo add-apt-repository -y ppa:kalakris/cmake - - sudo apt-add-repository -y ppa:beineri/opt-qt521 - - sudo apt-get -qq update +sudo: required -install: - - sudo apt-get install -q gcc-4.7 g++-4.7 - - if [ "$CXX" = "clang" ]; then sudo apt-get install -q clang-3.4; fi - - sudo apt-get install -q cmake - - sudo apt-get install -q qt52base qt52webkit qt52tools qt52script - - if [ "$CXX" = "g++" ]; then export CXX="g++-4.7" CC="gcc-4.7"; fi +services: + - docker -language: cpp - -compiler: - - gcc - - clang - -env: - - QT_VERSION=qt4 - - QT_VERSION=qt5 - -script: - - mkdir build - - cd build - - if [ "$QT_VERSION" = "qt4" ]; then cmake ..; fi - - if [ "$QT_VERSION" = "qt5" ]; then source /opt/qt52/bin/qt52-env.sh && cmake -DUSE_QT5=ON ..; fi - - make \ No newline at end of file +# Define a separate job for Windows +jobs: + include: + - os: osx + language: cpp + compiler: clang + env: + cache: + directories: + - $HOME/.ccache + - $HOME/Library/Caches/Homebrew + before_install: + - brew update && brew install ccache ninja qca qt5 + script: + - export CCACHE_MAXSIZE=1G + - mkdir build && cd build + - | + PATH=$PATH:/usr/local/opt/qt5/bin + DEPLOY=OFF + if [[ "$TRAVIS_TAG" != "" && "$GH_TOKEN" != "" ]]; then + DEPLOY=ON + fi + cmake -GNinja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DDEPLOY=$DEPLOY + ninja install + - ccache -s + - ctest + deploy: + provider: releases + api_key: $GH_TOKEN + file_glob: true + file: *.dmg + skip_cleanup: true + on: + tags: true + condition: $GH_TOKEN != '' + - os: windows + language: bash + before_install: + - export TARGET=windows-msvc2017_64-cl + #- export GITHUB_TOKEN=$GH_TOKEN + - | + function python { + /C/python38/python.exe "$@" + } + - | + function craft { + python /C/CraftMaster/$TARGET/craft/bin/craft.py "$@" + } + - choco install python2 + - choco install python3 + install: + - git clone --depth=1 https://invent.kde.org/kde/craftmaster.git /C/CraftMaster/CraftMaster + - python /C/CraftMaster/CraftMaster/CraftMaster.py --config $TRAVIS_BUILD_DIR/.craft.ini --variables "BUILD_DIR=$TRAVIS_BUILD_DIR" + - craft --add-blueprint-repository https://github.com/quassel/craft-blueprints-quassel.git + - craft -p quassel/quassel + - craft nsis + - craft --install-deps quassel/quassel + script: + - craft --no-cache --src-dir $TRAVIS_BUILD_DIR quassel/quassel + - craft --no-cache --src-dir $TRAVIS_BUILD_DIR --test quassel/quassel + after_success: + - craft --no-cache --src-dir $TRAVIS_BUILD_DIR --package quassel/quassel + - ls $TRAVIS_BUILD_DIR/* + - ls $TRAVIS_BUILD_DIR/binaries/* + deploy: + provider: releases + api_key: $GH_TOKEN + file_glob: true + file: $TRAVIS_BUILD_DIR/binaries/* + skip_cleanup: true + on: + tags: true + condition: $GH_TOKEN != '' + #cache: + # directories: + # - $HOME/AppData/Local/Temp/chocolatey