blob: f67bb02082409ed173d4fbe297e21cc8e736169e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
#
# Required environment variables in the travis config
#
# DOCKER_USERNAME
#
language: cpp
git:
submodules: false
env:
global:
- QT_INSTALL_DIR=~/Qt
- QT_VERSION=5.15.0
- QTCREATOR_VERSION=4.12.4
- QTEST_FUNCTION_TIMEOUT=9000000
cache:
directories:
- ${QT_INSTALL_DIR}
- ~/.ccache
stages:
- name: Build Qbs and and run autotests
jobs:
include:
- &build-on-bionic
stage: Build Qbs and and run autotests
name: With Qbs on Ubuntu bionic (linux_gcc64)
env:
BUILD_OPTIONS="modules.cpp.compilerWrapper:ccache modules.qbs.debugInformation:true"
services:
- docker
before_script:
- docker-compose pull bionic
- ccache -M 5G
- ccache -s
after_script:
- ccache -s
script:
- docker-compose run bionic scripts/build-qbs-with-qbs.sh
- <<: *build-on-bionic
name: With CMake on Ubuntu bionic (linux_gcc64)
script:
- docker-compose run bionic scripts/build-qbs-with-cmake.sh
- <<: *build-on-bionic
name: With QMake on Ubuntu bionic (linux_gcc64)
env:
BUILD_OPTIONS="CONFIG+=ccache"
script:
- docker-compose run bionic scripts/build-qbs-with-qmake.sh
- <<: *build-on-bionic
name: With Qbs on Ubuntu bionic (linux_clang64 & clang_tidy)
env:
BUILD_OPTIONS="profile:qt-clang_64 modules.cpp.compilerWrapper:ccache"
services:
- docker
script:
- docker-compose run --rm bionic scripts/run-analyzer.sh
- <<: *build-on-bionic
name: With Qbs and with Qt 5.13 for Android
before_install:
- docker-compose pull bionic
- docker-compose pull bionic-android-513
script:
- docker-compose run bionic qbs build modules.cpp.compilerWrapper:ccache modules.qbsbuildconfig.enableBundledQt:true config:release
- docker-compose run bionic-android-513 scripts/test-qt-for-android.sh release/install-root/usr/local/bin
- <<: *build-on-bionic
name: With Qbs and with Qt 5.14 for Android
before_install:
- docker-compose pull bionic
- docker-compose pull bionic-android-514
script:
- docker-compose run bionic qbs build modules.cpp.compilerWrapper:ccache modules.qbsbuildconfig.enableBundledQt:true config:release
- docker-compose run bionic-android-514 scripts/test-qt-for-android.sh release/install-root/usr/local/bin
- <<: *build-on-bionic
name: With Qbs and with baremetal
before_install:
- docker-compose pull bionic
- docker-compose pull focal-baremetal
script:
- docker-compose run bionic qbs build modules.cpp.compilerWrapper:ccache modules.qbsbuildconfig.enableBundledQt:true config:release
- QBS_AUTOTEST_PROFILE=arm-none-eabi-gcc-9_2 docker-compose run focal-baremetal scripts/test-baremetal.sh release/install-root/usr/local/bin
- QBS_AUTOTEST_PROFILE=avr-gcc-5_4 docker-compose run focal-baremetal scripts/test-baremetal.sh release/install-root/usr/local/bin
- QBS_AUTOTEST_PROFILE=msp430-gcc-4_6 docker-compose run focal-baremetal scripts/test-baremetal.sh release/install-root/usr/local/bin
- QBS_AUTOTEST_PROFILE=sdcc-3_8_0-mcs51 docker-compose run focal-baremetal scripts/test-baremetal.sh release/install-root/usr/local/bin
- QBS_AUTOTEST_PROFILE=sdcc-3_8_0-stm8 docker-compose run focal-baremetal scripts/test-baremetal.sh release/install-root/usr/local/bin
- &build-on-macos
stage: Build Qbs and and run autotests
name: With Qbs on macOS (xcode 11.5)
os: osx
osx_image: xcode11.5
addons:
homebrew:
packages:
- capnp
- ccache
- grpc
- icoutils
- makensis
- protobuf
- python3
- 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 modules.cpp.compilerWrapper:ccache modules.qbs.debugInformation:true"
QMAKE_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/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 ${QT_VERSION} qtbase qtdeclarative qttools qtscript qtscxml
- ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QTCREATOR_VERSION} qtcreator
# Hack to workaround the BinaryProbe bug - it prefers /usr/bin/python3 to the one found in PATH
# Older macs, however, do not have python3 in /usr/bin
- /usr/bin/python3 -m pip install --user beautifulsoup4 lxml || python3 -m pip install --user beautifulsoup4 lxml
before_script:
- ulimit -c unlimited -S # enable core dumps
script:
- ccache -s
- qbs setup-toolchains --detect
- qbs setup-qt ${QMAKE_PATH} qt
- qbs config profiles.qt.baseProfile xcode-macosx-x86_64
- qbs config defaultProfile qt
- qbs config --list profiles
- scripts/build-qbs-with-qbs.sh
- ccache -s
# Find core dump and print traceback on failure
after_failure:
- |
for f in $(find /cores -maxdepth 1 -name 'core.*' -print); do
lldb --core $f --batch --one-line "bt"
done;
- <<: *build-on-macos
name: With Qbs on macOS (xcode 11.5) using iOS profile
if: NOT branch =~ ^gerrit
env:
# Address sanitizer slows autotests down too much.
# We would hit the maximum build time on Travis.
BUILD_OPTIONS=modules.qbsbuildconfig.enableAddressSanitizer:false
QT_INSTALL_DIR=/Users/travis/Qt
PATH="${QT_INSTALL_DIR}/Qt Creator.app/Contents/MacOS:${PATH}"
QMAKE_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/clang_64/bin/qmake
QBS_AUTOTEST_QMAKE_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/ios/bin/qmake
QBS_BUILD_PROFILE=qt
QBS_AUTOTEST_BASE_PROFILE=xcode-iphoneos-arm64
WITH_DOCS=0
before_install:
- ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QT_VERSION} qtbase qtdeclarative qttools qtscript
- ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QT_VERSION} --target ios --toolchain ios qtbase qtdeclarative qttools qtscript
- ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QTCREATOR_VERSION} qtcreator
script:
- qbs setup-toolchains --detect
- qbs setup-qt ${QMAKE_PATH} qt
- qbs config profiles.qt.baseProfile xcode-macosx-x86_64
- scripts/build-qbs-with-qbs.sh
- <<: *build-on-macos
name: With Qbs on macOS (xcode 10.3)
osx_image: xcode10.3
if: NOT branch =~ ^gerrit
- <<: *build-on-macos
name: With Qbs on macOS (xcode 9.4)
osx_image: xcode9.4
if: NOT branch =~ ^gerrit
- &build-on-windows-with-docker
stage: Build Qbs and and run autotests
name: With Qbs on Windows with Docker (Visual Studio 2017)
if: NOT branch =~ ^gerrit
os: windows
services: docker
env:
CLCACHE_DIR="${HOME}/.ccache"
before-install:
- curl -sLo "/c/Program Files/Docker/docker-compose.exe" https://github.com/docker/compose/releases/download/1.25.3/docker-compose-Windows-x86_64.exe
- docker-compose pull windows
before_script:
- docker-compose run --rm windows clcache -s
script:
- >
docker-compose run --rm windows qbs build
-p dist
qbs.buildVariant:release
modules.cpp.compilerWrapper:clcache
modules.qbsbuildconfig.enableBundledQt:true
modules.qbsbuildconfig.enableProjectFileUpdates:true
modules.qbsbuildconfig.enableUnitTests:true
modules.cpp.treatWarningsAsErrors:true
project.withDocumentation:true
config:release-64 profile:qt64
config:release profile:qt
after_script:
- docker-compose run --rm windows clcache -s
- &build-on-windows
stage: Build Qbs and and run autotests
name: With Qbs on Windows (Visual Studio 2019)
os: windows
env:
# Need to build in release mode. Otherwise autotests would be too slow.
BUILD_OPTIONS="config:release modules.cpp.compilerWrapper:clcache"
QMAKE_PATH=${QT_INSTALL_DIR}/${QT_VERSION}/msvc2019_64/bin/qmake.exe
PATH="${QT_INSTALL_DIR}/Tools/QtCreator/bin:/c/Python38:/c/Python39:/c/Python38/Scripts:/c/Python39/Scripts:${PATH}"
QBS_BUILD_PROFILE=qt
CLCACHE_DIR="${HOME}/.ccache"
before_install:
# Install Qbs and Qt
- ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QT_VERSION} --toolchain win64_msvc2019_64 qtbase qtdeclarative qttools qtscript
- ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version ${QTCREATOR_VERSION} qtcreator
- choco install python3
- choco install -y visualstudio2019buildtools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --norestart"
- pip3 install conan beautifulsoup4 lxml
- pip3 install git+https://github.com/frerich/clcache.git@cae73d8255d78db8ba11e23c51fd2c9a89e7475b
before_script:
- clcache -s
after_script:
- clcache -s
script:
- find "C:/Program Files (x86)/Microsoft Visual Studio/2017" -name vcvarsall.bat
- find "C:/Program Files (x86)/Microsoft Visual Studio/2019" -name vcvarsall.bat
- qbs setup-toolchains --detect
- qbs setup-qt ${QMAKE_PATH} qt
- qbs config profiles.qt.baseProfile MSVC2019-x64
- qbs config defaultProfile qt
- scripts/build-qbs-with-qbs.sh
- <<: *build-on-windows
name: With Qbs on Windows (clang-cl)
if: NOT branch =~ ^gerrit
script:
- qbs setup-toolchains --detect
- qbs setup-qt ${QMAKE_PATH} qt
- qbs config profiles.qt.baseProfile clang-cl-x86_64
- qbs config defaultProfile qt
- scripts/build-qbs-with-qbs.sh
|