forked from Tw1ddle/geometrize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
114 lines (97 loc) · 3.78 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
sudo: required
dist: trusty
language: cpp
# Install Travis so we can get the token from Travis
before_script:
- gem install travis
# Add encrypted API key
env:
global:
- secure: BW4/YkeASJvNCwSiyoeIhEbhsmR15Tk2mSlvqqRK/rLnWjb0iQqdfw2apAHkxql96RjTTfzHRIzneWDxTkjh1OComuzG7ik1szak35lW/mfy6SNNYnmi8h98+88+i8RFYtrx47J5qmJ9/v9lRhFG/5yhXbg14b8RN36EdynBVOiNdsYquRzJ7MFzBTzbB9hCtBDgAhsz0wBdTkEFLCEbDsmXIaK74QLDZN6iSgxZz5qlTy4EDv467O+3MVUcGeJlGSeoBUxgHEVslAqpyxqPOAoi0INxH/iIzBvljQNU9XjE8mdsgaL5uOOfdwImYsQYTSwg/LlEDJcXxrgOyQKDHeJK4xrRFAZwy2lF07T5JXh++XSzoGoXl/jSZKejw43+QS2hV8OdD8YTXRyWcU/guoPshabnPBAgAIBt9vubaUNtksqWazqEJNAEG9hHWNAwdu4xMbBM/AxsHj7xP4TZKu89vyoeJ6202iVyTe15yEbOI/AjtNhNGBzmNtc8OZ/ULFHuHrrWgQ2/Mfov0Nv6dItYcEFMSvFaKaGMbWUsQKdER19WxLUvCfsHyhlqyckHJP7m9K0c4NjXMfkds9QqHo/sfmbjCmBKbcLENaMXSH7jKLD07jUsWvdw1gA3ApGQ6T2E9QQHyB1d6F8LrqPQ8MUJWFKseD3pZWrnEObnQVY=
# Setup build matrix
matrix:
include:
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6"
- TRIGGER_DOWNSTREAM_BUILDS="yes"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- os: linux
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8"
- os: osx
osx_image: xcode8
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- OSX_IMAGE_NAME="xcode_8_0"
- os: osx
osx_image: xcode8.1
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- OSX_IMAGE_NAME="xcode_8_1"
- os: osx
osx_image: xcode8.2
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- OSX_IMAGE_NAME="xcode_8_2"
- os: osx
osx_image: xcode8.3
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- OSX_IMAGE_NAME="xcode_8_3"
- os: osx
osx_image: xcode9
env:
- MATRIX_EVAL="CC=clang && CXX=clang++"
- OSX_IMAGE_NAME="xcode_9_0"
before_install:
# Get the latest versions of the submodules, and push to the remotes (if necessary)
- chmod +x ./travis_update_submodules.sh
- ./travis_update_submodules.sh
# Set compilers
- eval "${MATRIX_EVAL}"
- echo $CC
- echo $CXX
# Work around intermittent failures on OSX
# "Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)"
# See https://stackoverflow.com/questions/46670305/how-to-change-ruby-version-for-homebrew-in-macos-in-travis-ci/46756693
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
# Get Qt
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository ppa:beineri/opt-qt591-trusty -y; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq --force-yes; fi
install:
# Install Qt
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install qt59base qt59svg qt59imageformats qt59tools; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then source /opt/qt59/bin/qt59-env.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install qt5; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link qt5 --force; fi
# Build the Geometrize app
script:
- qmake geometrize.pro
- make CC=${CC} CXX=${CXX} LINK=${CXX}
# Tell downstream repositories that the Geometrize app has been updated
after_script:
- if [[ $TRIGGER_DOWNSTREAM_BUILDS ]]; then chmod +x trigger_travis.sh ; fi
- if [[ $TRIGGER_DOWNSTREAM_BUILDS ]]; then ./trigger_travis.sh Tw1ddle geometrize-installer master $TRAVIS_ACCESS_TOKEN_GEOMETRIZE_APP_INSTALLER_TRIGGER ; fi
- if [[ $TRIGGER_DOWNSTREAM_BUILDS ]]; then ./trigger_travis.sh Tw1ddle geometrize-docs master $TRAVIS_ACCESS_TOKEN_GEOMETRIZE_APP_DOCS_TRIGGER ; fi