This repository was archived by the owner on Jun 10, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy path.travis.yml
189 lines (177 loc) · 7.52 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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
language: cpp
sudo: false
env:
global:
secure: Fo3r89wp9lKA2IoNAweBji9su5qmKhYrnkJ49Ci0VK1p6l4kM2CL5IF3aQvwweybtIacpxLZQN+XSrGZe21Mtc+tuG5OgJDg7R462sD9PHt+6bpJOcCx3c7Cw6U4ObKnbaF/2ybqoXk4uFfAISXHgJ9Og2+T+ouXgfou03sQHz/yY7bFjUFqX0VPRDNNvV9CZuP5CMoLUf/Lp6qhuS2V1q6qTMziQ+ga5Bv6/sMmetvSglrXH1wXG4cTF9ceBWknV6ql0cYnQGFp+uOQq4a8E3LA8zF75kkFim1BGlzhgZfWvCmdk20HgJRVfd8iqFmHwhV+Zm+9koqNo5C4T513LA1IxapCJ2H7kNWb77hJ/7JGfZO6Nk9yIp2YHQLtGn90NXisHhlSvZzNvtrewqjdS5NAsz3qxXYjKqdROYTSVD8QiGJZOTuZU8XnEivnj+MMSlFgsJ5ff0cZmMsbEJ9KPeaCW4r8wpVraEI9cCKaTC1jqyV6MSAV0THqdRzV7tI86ZyWYopCPntFbdd8+89yX7qNOBpwimJVfEbsUaPAo356o0Mjic//gbHbCd5JoOpCt7uBoOSpSX1tj8E63mc0EyLn9N/4z0YkfOKHoIrbN3Q1vDqX49M51vNjgo8sYiGelqQTbGl8lrnHGh3Vsub1MrvW+idpINAeZp8SN/REy28=
stages:
- format
- compile and test
- name: deploy
if: branch = master AND type = push
- name: trigger
if: branch = master AND type IN (push, api)
cache:
directories:
- node_modules
jobs:
include:
- stage: format
if: branch != master
os: linux
env:
- TEST="Clang format"
script:
- mkdir build
- cd build
- cmake ..
- make format
- |
if [[ -n $(git diff) ]]; then
echo "Format requirement is not satisfied"
return 1
fi
after_failure:
- export head_ref=$(git rev-parse HEAD)
- export branch_ref=$(git rev-parse "$TRAVIS_BRANCH")
- |
if [[ $head_ref != $branch_ref ]]; then
echo "HEAD ref ($head_ref) does not match $TRAVIS_BRANCH ref ($branch_ref)"
return 1
fi
- git checkout "$TRAVIS_BRANCH"
- git add --all "$TRAVIS_BUILD_DIR"
- git commit -m "Travis CI format update"
- git push https://BotellaA:$GITHUB_TOKEN@github.com/$TRAVIS_REPO_SLUG "$TRAVIS_BRANCH"
- stage: compile and test
os: linux
env:
- TEST="Gcc Check"
apt:
packages:
- libxrandr-dev
- libxinerama-dev
- libxcursor-dev
- libxi-dev
script:
- mkdir build
- cd build
- CXX=g++ CC=gcc cmake -DCMAKE_BUILD_TYPE=Coverage -DRINGMESH_WITH_GRAPHICS:BOOL=OFF -DRINGMESH_WITH_UTILITIES:BOOL=ON -DRINGMESH_WITH_TESTS:BOOL=ON -DRINGMESH_WITH_TUTORIALS:BOOL=ON -DRINGMESH_WITH_RESQML2:BOOL=OFF ..
- cmake --build . -- -j2
- cmake -E env CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target coverage -- -j2
- cmake --build . --target package
- cd $TRAVIS_BUILD_DIR
after_failure:
- if [ "$TRAVIS_BRANCH" = "master" && "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
cd $TRAVIS_BUILD_DIR;
bash ./travis_slack_notif.sh "$TRAVIS_JOB_ID" "$TRAVIS_BRANCH"; fi
- stage: compile and test
os: linux
env:
- TEST="Clang Check"
addons:
apt:
packages:
- libxrandr-dev
- libxinerama-dev
- libxcursor-dev
- libxi-dev
script:
- mkdir build
- cd build
- CXX=clang++ CC=clang cmake -DCMAKE_BUILD_TYPE=DEBUG -DRINGMESH_WITH_GRAPHICS:BOOL=OFF -DRINGMESH_WITH_UTILITIES:BOOL=ON -DRINGMESH_WITH_TESTS:BOOL=ON -DRINGMESH_WITH_TUTORIALS:BOOL=ON -DRINGMESH_WITH_RESQML2:BOOL=ON ..
- cmake --build . -- -j2
- cmake -E env CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target test -- -j2
- cmake --build . --target package
after_failure:
- if [ "$TRAVIS_BRANCH" = "master" && "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
cd $TRAVIS_BUILD_DIR;
bash ./travis_slack_notif.sh "$TRAVIS_JOB_ID" "$TRAVIS_BRANCH"; fi
- stage: compile and test
if: branch = master
os: osx
env:
- TEST="Xcode Check"
script:
- mkdir build
- cd build
- CXX=clang++ CC=clang cmake -G Xcode -DRINGMESH_WITH_GRAPHICS:BOOL=OFF -DRINGMESH_WITH_UTILITIES:BOOL=ON -DRINGMESH_WITH_TESTS:BOOL=ON -DRINGMESH_WITH_TUTORIALS:BOOL=ON -DRINGMESH_WITH_RESQML2:BOOL=OFF ..
- cmake --build . --config Debug
- cmake -E env CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target RUN_TESTS --config Debug
- cmake --build . --target package
after_failure:
- if [ "$TRAVIS_BRANCH" = "master" && "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
cd $TRAVIS_BUILD_DIR;
bash ./travis_slack_notif.sh "$TRAVIS_JOB_ID" "$TRAVIS_BRANCH"; fi
- stage: compile and test
if: branch = master
os: osx
env:
- TEST="Unix Makefile Check"
script:
- mkdir build
- cd build
- CXX=clang++ CC=clang cmake -DCMAKE_BUILD_TYPE=DEBUG -DRINGMESH_WITH_GRAPHICS:BOOL=OFF -DRINGMESH_WITH_UTILITIES:BOOL=ON -DRINGMESH_WITH_TESTS:BOOL=ON -DRINGMESH_WITH_TUTORIALS:BOOL=ON -DRINGMESH_WITH_RESQML2:BOOL=OFF ..
- cmake --build . -- -j2
- cmake -E env CTEST_OUTPUT_ON_FAILURE=1 cmake --build . --target test -- -j2
- cmake --build . --target package
after_failure:
- if [ "$TRAVIS_BRANCH" = "master" && "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
cd $TRAVIS_BUILD_DIR;
bash ./travis_slack_notif.sh "$TRAVIS_JOB_ID" "$TRAVIS_BRANCH"; fi
- stage: deploy
os: linux
env:
- RINGMESH_PACKAGE=RINGMesh-master-Linux
addons:
apt:
packages:
- libxrandr-dev
- libxinerama-dev
- libxcursor-dev
- libxi-dev
script:
- mkdir build
- cd build
- CXX=g++ CC=gcc cmake -DCMAKE_BUILD_TYPE=RELEASE -DRINGMESH_WITH_GRAPHICS:BOOL=OFF -DRINGMESH_WITH_UTILITIES:BOOL=ON -DRINGMESH_WITH_RESQML2:BOOL=ON -DCPACK_PACKAGE_FILE_NAME:STRING=$RINGMESH_PACKAGE ..
- cmake --build . -- -j2
- cmake --build . --target package
after_success:
- git clone -b master https://github.com/ringmesh/web
- cd web
- mkdir -p download
- cp -f ringmesh/$RINGMESH_PACKAGE.tar.gz download/
- git add download/$RINGMESH_PACKAGE.tar.gz
- git commit -m "Update Linux master release"
- git push https://BotellaA:$GITHUB_TOKEN@github.com/ringmesh/web master
after_failure:
- if [ "$TRAVIS_BRANCH" = "master" && "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
cd $TRAVIS_BUILD_DIR;
./travis_slack_notif.sh "$TRAVIS_JOB_ID" "$TRAVIS_BRANCH"; fi
- stage: deploy
os: osx
env:
- RINGMESH_PACKAGE=RINGMesh-master-Darwin
script:
- mkdir build
- cd build
- CXX=clang++ CC=clang cmake -DCMAKE_BUILD_TYPE=RELEASE -DRINGMESH_WITH_GRAPHICS:BOOL=OFF -DRINGMESH_WITH_UTILITIES:BOOL=ON -DRINGMESH_WITH_RESQML2:BOOL=OFF -DCPACK_PACKAGE_FILE_NAME:STRING=$RINGMESH_PACKAGE ..
- cmake --build . -- -j2
- cmake --build . --target package
after_success:
- git clone -b master https://github.com/ringmesh/web
- cd web
- mkdir -p download
- cp -f ../ringmesh/$RINGMESH_PACKAGE.tar.gz download/
- git add download/$RINGMESH_PACKAGE.tar.gz
- git commit -m "Update Darwin master release"
- git push https://BotellaA:$GITHUB_TOKEN@github.com/ringmesh/web master
after_failure:
- if [ "$TRAVIS_BRANCH" = "master" && "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
cd $TRAVIS_BUILD_DIR;
bash ./travis_slack_notif.sh "$TRAVIS_JOB_ID" "$TRAVIS_BRANCH"; fi
- stage: trigger
os: linux
script:
- git clone -b master https://github.com/ringmesh/TriggerCI
- cd TriggerCI
- python travis-trigger.py RINGMesh