forked from trikset/trik-studio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
142 lines (124 loc) · 5.81 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
language: minimal
git:
depth: 20
stages:
- lint
- build
- installer
- test
env:
global:
- PYENV_ROOT="$HOME/pyenv.root"
- CONFIG=release
- VERA=false
- PROJECT=studio
- TESTS=true
- TRANSLATIONS=false
- INSTALLER=false
- BUILD_TIMEOUT=2400
- EARLY_START_DOCKER_PULL_PID=$( if [ $TRAVIS_OS_NAME = 'linux' ] ; then time docker pull trikset/linux-builder ; else true ; fi >&2 & echo $!)
- HEARTBEAT=$(while sleep 100; do echo "=====[ $SECONDS seconds, still building... ]====="; done >&2 & echo $! )
- ALL_TESTS="./run-simulator-tests.sh"
- QMAKE_EXTRA="CONFIG+=tests CONFIG+=noPch CONFIG+=ccache"
- TRIK_QT="$HOME/TRIK_Qt"
- secure: "Djp1JuoB/dDxIQwmYfaJIflulGaZk69djacFE4L/ippcFfcN9As/dzTvBHjHNV2urZoNGAH5iuIGgX0b6aMKIzQRcGbLOrr7yx3SiT/hJ/sh6tnDoiz6kVDiq6Nubf+Mpvgjbm3wuseqcdK4LzHLVv4bZh7cB+JPG4x5PndbD2RyaCoSwdqsZ+fZj0ixteVsGrexSW/w4ZPiAtTfxsRKYJmivLl3jQNm6b0g3AEr37BO/M88xSaECa3WagR6bSgWlNqhftBq51Qk/242LIhLKlLEDLNr4zj04SctO+dZQqT8T99REihHfgbzYg+oFG2/M4fpkxsHykKG8t+Ssgx6iuIMwP8nI/wH6zY68xsmLaMR0rXT8gRxXz2w6z1xwQlXbcRYTWH/PKrLFwIN4d+//GzHHnsh/e6TM6T5pv8t704wmcCer1MbHbHqfRUjK3CAKE62HzsHh4En1PmFsW5kCedmDwTvMvTMiwR7Sru0TrUJ4ldXXbIcfGwisJfhntUQ53eWsN0uZ0FjfZqLQtGEDpn4m+WZwf3cMXKicX18mGXeRsnEOOxK/b62qBTh+hBK+3li69jflVqJJzWqVa4GDkL10OgW5hk/IHCDiTPLqeg/6eCefZFn7FcT4iRdG5CzROfXY5Ep0Gf/ia+uBZBpvlQMQ84/WBLMhgHXGCJGwqU="
- secure: "Bs6NDzxktMXnE4I8kctP7UZUx+/qaIyxVemruzhRMBrUT3yk68tvyKVmWy3z1/e1tR3Wm1GlJKk+NgdWporksgMJiHKYhkxtwM0GWkfR6lgQyUiZCYubinr4PU9/DsXtPa21lq/bEqXLe3Lz7BDOpWZ5lY8j58tCwZB+OsbmYiGdSsxXr1AtSKsX9t985J+iOG1lzFJT1BWXBnHxIyk24bGo7j1kg4IDD0OE5uxf1Q6COIOOWhOBAx6xCUgpnT/Myv4GPFv0kenlmyXLqB9t3Dndxd+Y4D0v/ak35TjqhCip6uTwJVjMDWX62Twrb2E/YK53nnn2nsSYlcgxKy5CQyKz3x8YmhqkOeXMx9OH4gT5pD1JRSk+4nJ+ht9Y9UCJX0vyDJKiHtWLzKLXP8B8xaABTlmqYAfiqkaEHO3fUst+9AA+0SkuBWsGOIFfQ2R6kVsvUii9Tm73dAc9z1q35zFkYQLoZ9mnXa7al+RxLQPhDeKuPdCa4DyQZS1cDbRJmMCqtoZGbwr/LEWpp0KYsZPlaMRSM1WvUwngG98M7ojZEyF1u6BVYbjnbCQKAM3qVFpGKbSMOoVPRPTU+DeSD5lFWDYn5Rc3Ls4vp/giAPfB7Vxpej6NrNLulMb/DPfC5Z9XdJBg9ZqAuYMogyZo8dgX0OAPOuDTwNZEv156x8g="
cache:
timeout: 1000
directories:
- $PYENV_ROOT
- $HOME/.ccache
- $TRIK_QT
addons:
artifacts:
paths:
- build.log
branches:
except:
- /dependabot.*/
matrix:
include:
- stage: lint
os: linux
services: docker
env: CONFIG=debug VERA=true TESTS=$ALL_TESTS TRANSLATIONS=true QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=silent CONFIG+=small_debug_info CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address"
name: "Vera and translations"
script:
- $EXECUTOR ./buildScripts/travis/vera_translation.sh
after_script:
- kill $HEARTBEAT
- stage: build
os: linux
services: docker
name: "Linux release + tests"
env: QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=no-sanitizers CONFIG+=silent CONFIG+=warn_off"
- os: linux
services: docker
env: CONFIG=debug TESTS=$ALL_TESTS QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=silent CONFIG+=small_debug_info CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address"
name: "Linux debug + tests"
- os: osx
language: cpp
name: "macOS release + tests"
env: QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=no-sanitizers" BUILD_TIMEOUT=1800
- os: osx
language: cpp
name: "macOS debug + tests"
env: CONFIG=debug VERA=false TESTS=$ALL_TESTS QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=silent CONFIG+=small_debug_info CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address" BUILD_TIMEOUT=1800
- stage: installer
os: linux
services: docker
name: "Linux release installer + checker"
env: INSTALLER=true QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=no-sanitizers CONFIG-=tests CONFIG+=silent CONFIG+=warn_off"
- os: osx
language: cpp
name: "macOS release installer"
env: INSTALLER=true QMAKE_EXTRA="$QMAKE_EXTRA CONFIG+=no-sanitizers CONFIG-=tests" BUILD_TIMEOUT=1800
- stage: test
dist: xenial
name: "Linux tests in clean env"
addons:
apt:
sources:
- deadsnakes
packages:
- python3.7
- p7zip-full
- libxkbcommon-x11-0
before_install:
install:
script:
- ./buildScripts/travis/run_clean_env_test.sh
after_script:
- os: osx
name: "MacOS tests in clean env"
before_install:
install:
- env HOMEBREW_NO_AUTO_UPDATE=1 brew install p7zip
before_script:
script:
- ./buildScripts/travis/run_clean_env_test.sh
after_script:
before_install:
- if [[ $TRAVIS_OS_NAME == osx ]] ; then [[ -n ${TRIK_PYTHON3_VERSION_MINOR:-} ]] || export TRIK_PYTHON3_VERSION_MINOR="$(python3 -V | sed 's#^Python [0-9]\.\([0-9]\)\.[0-9]*$#\1#g')" ; fi
- if ./buildScripts/travis/has_only_skipped_files.sh ; then echo "Triggering early terminate..." ; set -xo functrace ; travis_terminate 0 ; fi
- time wait $EARLY_START_DOCKER_PULL_PID || true
- ./buildScripts/travis/before_install.sh
- export CCACHE_CONFIGPATH=$HOME/ccache.conf
install:
- "./buildScripts/travis/install_${TRAVIS_OS_NAME}.sh"
before_script:
- if [ "$TRAVIS_OS_NAME" = "linux" ] ; then export EXECUTOR="time docker exec -i builder " ; else export EXECUTOR="time " ;fi
- export CCACHE_DIR="$HOME/.ccache/$TRAVIS_OS_NAME-$CONFIG"
script:
- ./buildScripts/travis/script.sh & WPID=$!
- sleep $BUILD_TIMEOUT && { kill $WPID || true ; echo "***KILLED ON TIMEOUT***" ; } & KPID=$!
- export TIMEOUT=false
- wait $WPID ; RES=$?; kill -0 $KPID && kill $KPID > /dev/null || export TIMEOUT=true ; ( exit $RES )
- if $INSTALLER ; then $EXECUTOR ./buildScripts/travis/test.sh ; fi
- if $INSTALLER ; then ./buildScripts/travis/build_installer.sh ; fi
after_script:
- ./buildScripts/travis/after_script.sh
- kill $HEARTBEAT
- sync ; wc -l build.log ; tail -n 1000 build.log
after_success:
- true