aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml87
1 files changed, 82 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index cead59a79..89d968b83 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,16 +8,20 @@ language: cpp
git:
submodules: false
+env:
+ global:
+ - QT_INSTALL_DIR=~/Qt
+
stages:
- name: Build Qbs and and run autotests
jobs:
include:
- - &build-on-stretch
+ - &build-on-bionic
stage: Build Qbs and and run autotests
- name: With Qbs on Debian stretch (linux_amd64)
+ name: With Qbs on Ubuntu bionic (linux_gcc64)
env:
- SERVICE=stretch
+ SERVICE=bionic
services:
- docker
before_install:
@@ -25,7 +29,80 @@ jobs:
script:
- docker-compose run --rm ${SERVICE} scripts/build-qbs-with-qbs.sh
- - <<: *build-on-stretch
- name: With QMake on Debian stretch (linux_amd64)
+ - <<: *build-on-bionic
+ name: With QMake on Ubuntu bionic (linux_gcc64)
script:
- docker-compose run --rm ${SERVICE} scripts/build-qbs-with-qmake.sh
+
+ - <<: *build-on-bionic
+ name: With Qbs on Ubuntu bionic (mingw32_w64)
+ script:
+ - docker-compose run --rm ${SERVICE} qbs build profile:qt-mingw32_w64
+
+ - &build-on-macos
+ stage: Build Qbs and and run autotests
+ name: With Qbs on macOS (xcode 10.2)
+ os: osx
+ osx_image: xcode10.2
+ addons:
+ homebrew:
+ packages:
+ - p7zip
+ update: true
+ env:
+ # Address sanitizer slows autotests down too much.
+ # We would hit the maximum build time on Travis.
+ BUILD_OPTIONS=modules.qbsbuildconfig.enableAddressSanitizer:false
+ QMAKE_PATH=${QT_INSTALL_DIR}/5.12.4/clang_64/bin/qmake
+ PATH="${QT_INSTALL_DIR}/Qt Creator.app/Contents/MacOS:${PATH}"
+ QBS_BUILD_PROFILE=qt
+ before_install:
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 5.12.4 qtbase qtdeclarative qttools qtscript
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 4.9.2 qtcreator
+ - pip2 install --user beautifulsoup4 lxml
+ script:
+ - qbs setup-toolchains --detect
+ - qbs setup-qt ${QMAKE_PATH} qt
+ - qbs config qt.baseProfile xcode-macosx-x86_64
+ - qbs config defaultProfile qt
+ - scripts/build-qbs-with-qbs.sh
+
+# Disabled because of https://bugreports.qt.io/browse/QBS-1456
+# - <<: *build-on-macos
+# name: With Qbs on macOS (xcode 9.4)
+# osx_image: xcode9.4
+
+ - &build-on-windows
+ stage: Build Qbs and and run autotests
+ name: With Qbs on Windows (Visual Studio 2017)
+ os: windows
+ env:
+ # Need to build in release mode. Otherwise autotests would be too slow.
+ BUILD_OPTIONS="config:release"
+ QT_INSTALL_DIR=C:/Qt
+ QMAKE_PATH=${QT_INSTALL_DIR}/5.12.4/msvc2017_64/bin/qmake.exe
+ PATH="/c/Qt/Tools/QtCreator/bin:${PATH}"
+ WITH_DOCS=0
+ QBS_BUILD_PROFILE=qt
+ before_install:
+ # Disable unnecessary background services which tend to consume
+ # a lot of resources
+ - powershell -Command 'Set-MpPreference -DisableRealtimeMonitoring $true'
+ - powershell -Command 'Set-MpPreference -DisableArchiveScanning $true'
+ - powershell -Command 'Set-MpPreference -DisableBehaviorMonitoring $true'
+ - powershell -Command 'sc.exe config TrustedInstaller start=disabled; sc.exe stop TrustedInstaller'
+ - powershell -Command 'sc.exe config wuauserv start=disabled; sc.exe stop wuauserv'
+ - powershell -Command 'Add-MpPreference -ExclusionPath C:\'
+ - powershell -Command 'Add-MpPreference -ExclusionProcess qbs.exe'
+ - powershell -Command 'Add-MpPreference -ExclusionProcess cl.exe'
+ - powershell -Command 'Add-MpPreference -ExclusionProcess link.exe'
+
+ # Install Qbs and Qt
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 5.12.4 --toolchain win64_msvc2017_64 qtbase qtdeclarative qttools qtscript
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 4.9.2 qtcreator
+ script:
+ - qbs setup-toolchains --detect
+ - qbs setup-qt ${QMAKE_PATH} qt
+ - qbs config qt.baseProfile MSVC2017-x86
+ - qbs config defaultProfile qt
+ - scripts/build-qbs-with-qbs.sh