forked from thoth-medievia/Mudlet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
165 lines (158 loc) · 5.68 KB
/
.travis.yml
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
language: cpp
version: ~> 1.0
if: branch = development OR branch =~ ^release OR tag IS present
cache:
timeout: 600
ccache: true
directories:
- $HOME/Library/Caches/Homebrew
os: linux # this gets overwritten in the jobs definition below.
dist: xenial
addons:
apt:
sources: &add-sources
- sourceline: 'ppa:beineri/opt-qt-5.11.3-xenial'
- sourceline: 'ppa:beineri/opt-qt-5.12.7-xenial'
- sourceline: 'ppa:ondrej/php' # more-or-less up to date libzip
- sourceline: 'ppa:ubuntu-toolchain-r/test' # gcc 7
packages: &common-packages
- libhunspell-dev
- lua5.1
- liblua5.1-0-dev
- libboost-graph-dev
- zlib1g-dbg
- libzip-dev
- libpulse-dev
- libyajl-dev
- gcc-7
- g++-7
- luarocks
- lua-rex-pcre
- lua-filesystem
- lua-zip
- lua-sql-sqlite3
- libpugixml-dev
- xz-utils
- npm
- mesa-common-dev
- libglu1-mesa-dev
- fcitx-frontend-qt5
- libsecret-1-dev
env:
global:
- secure: VFI3UCiDrp47WTcUhsatdQvvWg+3gk00eBMZgSOXXKY5+hk+NOX7bOFcIM5t9nlZDbpHDr10SFTuUOw+PeWmLpFO06Zrjg86M9jm9WS4i8Cs9hfxoT6H4isXlR1vubX2LmNlHyzg8WtdNanlsufgecyaGksJxr7tVhG/cWyD6yo=
- secure: XxdhHVraWpXpWo4tluD7NwJtqQT1b6LKoxX6QWKzR0fvcKgqBy2jlXMu0KVtTYtVI7M1wFdjtwSixK1UGFZyDgEYYUnDTufq7E81TWJSQ5ZhxNRaDAyO2vkLNFpH7LkwVrV/fWCPKE9t3/WiowwQnXesm9MMxAzbd2mIaeyiccY=
- secure: mi62VU0KxOahOaYulrqDiow3SscJPug842vhnuXzfjJ5AJU5V5gAcvECL85gQIPx5W3dXoNJnHdBUi9jOhnE3tuTML67oiieoVEmZfFF2pXtnHsdFlvzFtcGcmT+cVGF7GVyItlVLa5LcLJw6SNd3C3Dhib/Lu1cb/NdsFn0sZc=
- secure: CaZAZW5shaYve0gauA0rdRn/Bxdf5itfAFb7FuaOHmk999AQ/aB013huCcdeeBDhon2CxQ3BRLTkRzHR00DBA7rPgR1Y/4/kHa71xisUY7CqDlHYktQI69CpqGot2Bb1eE2Rs7ZQcYKhfMbMJacE6zNBZwUq0I0OWI1Ux3PKkJs=
- secure: bbgK1psr0ZUYPJanjnyzsbkQk2QHLkS39iiycnb4GVUUlNKRcdxqEFqoVFssOKvrQQr2RVe/k8RSb9D57KiCiQaAqksnmGJ9nTDNiNJefgTO+bTjGVIzBSyMyLDX/ltQkyHm5bBF48+64sAv5jYkbfgfj9H0/ihtwt6wqh5AdJQ=
- secure: N4fBA3ul3DBM0/RJjQ+R64EGoQb9AaKmvgyFq9TdTT4JQ2TB956yHq/iwOfnYAjY0zW238lWE1n+mlQlKwW7MrOPlZylsKO1oBTjEkm8d7SezPnLZWPBB5tGv1wrWOcI+k1nYFPPRFtTopcCwvLyFoN7d/Z7ViuqNAK8QSzCKps=
- secure: YB0wWZIslcOqCZBzP6KSjRwOhmji0LbyYPhNZ55MXv/SqUhYNxKRJUTuUokY5CNOSlHT4qKtam+pV7ydSUqWqCQvgTq6Gc57Qn9eDwYBwa/3As65AtDnfNSTrhKDOE4Ml3RkALlKiRIN3w8zpyuBnsovNWaTm1LdduyING3en4A=
git:
submodules: false # We selectively pull in the wanted submodules ourselves now
jobs:
include:
- os: osx
osx_image: xcode10.1
compiler: clang
env:
- Q_OR_C_MAKE=qmake
DEPLOY=deploy
- os: osx
osx_image: xcode10.1
compiler: clang
env:
- Q_OR_C_MAKE=cmake
- os: linux
compiler: gcc
env:
- Q_OR_C_MAKE=qmake
QT_VERSION=512
DEPLOY=deploy
addons:
apt:
sources: *add-sources
packages: &qt512-packages
- *common-packages
- qt512base
- qt512multimedia
- qt512tools
- qt512gamepad
- qt512speech
- qt512translations
- os: linux
compiler: gcc
env:
- Q_OR_C_MAKE=cmake
QT_VERSION=512
addons:
apt:
sources: *add-sources
packages:
- *qt512-packages
- os: linux
compiler: clang
env:
- Q_OR_C_MAKE=qmake
QT_VERSION=512
addons:
apt:
sources: *add-sources
packages:
- *qt512-packages
- os: linux
compiler: clang
env:
- Q_OR_C_MAKE=cmake
QT_VERSION=512
addons:
apt:
sources: *add-sources
packages:
- *qt512-packages
- os: linux
compiler: gcc
env:
- Q_OR_C_MAKE=cmake
- QT_VERSION=511 # actually Qt 5.11, used to check minimum supported Qt works
addons:
apt:
sources: *add-sources
packages: &qt511-packages
- *common-packages
- qt511base
- qt511multimedia
- qt511tools
before_cache:
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi
before_install:
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | tee -a "${HOME}/ca-file.pem"; fi
# add to the path here to pick up things as soon as its installed
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export PATH="${HOME}/.npm-global/bin:${HOME}/latest-gcc-symlinks:$PATH"; fi
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then source "/opt/qt${QT_VERSION}/bin/qt${QT_VERSION}-env.sh"; fi
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then eval $(luarocks path); fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then PATH="${HOME}/.npm-global/bin:/usr/local/opt/ccache/libexec:/usr/local/opt/qt5/bin:$PATH"; fi
# homebrew upgrades dependents when upgrading packages, which leads to an gdal upgrade, which in turn pulls a loooong list of other dependencies. Avoid that
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew pin gdal; brew pin postgis; fi
- ./CI/travis.before_install.sh
- export NPM_CONFIG_PREFIX="${HOME}/.npm-global"
install: source CI/travis.install.sh
before_script: |
# source the set-build-info as it exports some variables for us!
source CI/travis.set-build-info.sh
# set the luarocks path here for OSX as we installed it later for that OS.
if [ "${TRAVIS_OS_NAME}" = "osx" ]; then eval $(luarocks --lua-dir="$(brew --prefix lua@5.1)" path); fi
mkdir -p build
# finally, validate that everthing is kosher before starting the build
source CI/travis.validate_deployment.sh
script:
- ./CI/travis.compile.sh
after_success:
- cd "${TRAVIS_BUILD_DIR}"
- bash CI/travis.after_success.sh
notifications:
webhooks:
urls:
- https://webhooks.gitter.im/e/4ed233d9013d611a1568
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # default: never