forked from Cockatrice/Cockatrice
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
276 lines (248 loc) · 7.28 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
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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
os: linux
dist: bionic
language: cpp
compiler: gcc
git:
depth: 15
jobs:
include:
#Static Code Analysis
- name: Check code style / Linting
if: tag IS NOT present
os: linux
group: stable
script: bash ./.ci/travis-lint.sh
#Ubuntu Bionic (on Docker)
- name: Ubuntu Bionic (Debug + Tests)
if: tag IS NOT present
os: linux
services: docker
language: minimal
env: NAME=UbuntuBionic CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server --debug --test
- name: Ubuntu Bionic (Release)
if: (branch = master AND NOT type = pull_request) OR tag IS present
os: linux
services: docker
language: minimal
env: NAME=UbuntuBionic CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server --package $NAME --release
#Ubuntu Focal (on Docker)
- name: Ubuntu Focal (Compile)
if: tag IS NOT present
os: linux
services: docker
language: minimal
env: NAME=UbuntuFocal CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server
- name: Ubuntu Focal (Release)
if: (branch = master AND NOT type = pull_request) OR tag IS present
os: linux
services: docker
language: minimal
env: NAME=UbuntuFocal CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server --package $NAME --release
#Debian Buster (on Docker)
- name: Debian Buster (Compile)
if: tag IS NOT present
os: linux
services: docker
language: minimal
env: NAME=DebianBuster CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server
- name: Debian Buster (Release)
if: (branch = master AND NOT type = pull_request) OR tag IS present
os: linux
services: docker
language: minimal
env: NAME=DebianBuster CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server --package $NAME --release
#Fedora 32 (on Docker)
- name: Fedora 32 (Compile)
if: tag IS NOT present
services: docker
language: minimal
env: NAME=Fedora32 CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server
- name: Fedora 32 (Release)
if: (branch = master AND NOT type = pull_request) OR tag IS present
services: docker
language: minimal
env: NAME=Fedora32 CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server --package $NAME RPM --release
#macOS High Sierra
- name: macOS High Sierra (Debug)
if: tag IS NOT present
os: osx
osx_image: xcode10.1
cache:
- ccache
- directories:
- $HOME/Library/Caches/Homebrew
addons:
homebrew:
packages:
- ccache
- protobuf
- qt
- xz
update: true
script: bash ./.ci/travis-compile.sh --server --install --debug
before_cache:
- brew cleanup
- name: macOS High Sierra (Release)
if: (branch = master AND NOT type = pull_request) OR tag IS present
os: osx
osx_image: xcode10.1
env: OSX_VERSION=10.13
cache:
- ccache
- directories:
- $HOME/Library/Caches/Homebrew
addons:
homebrew:
packages:
- ccache
- protobuf
- qt
- xz
update: true
script: bash ./.ci/travis-compile.sh --server --package "macos$OSX_VERSION" --release
before_cache:
- brew cleanup
#macOS Catalina
- name: macOS Catalina (Debug)
if: tag IS NOT present
os: osx
osx_image: xcode11.6
cache:
- ccache
- directories:
- $HOME/Library/Caches/Homebrew
addons:
homebrew:
packages:
- ccache
- protobuf
- qt
- xz
update: true
script: bash ./.ci/travis-compile.sh --server --install --debug
before_cache:
- brew cleanup
- name: macOS Catalina (Release)
if: (branch = master AND NOT type = pull_request) OR tag IS present
os: osx
osx_image: xcode11.6
env: OSX_VERSION=10.15
cache:
- ccache
- directories:
- $HOME/Library/Caches/Homebrew
addons:
homebrew:
packages:
- ccache
- protobuf
- qt
- xz
update: true
script: bash ./.ci/travis-compile.sh --server --package "macos$OSX_VERSION" --release --zip
before_cache:
- brew cleanup
#Arch Linux (on Docker) (allow failures)
- name: Arch Linux (Debug)
if: tag IS NOT present
os: linux
services: docker
language: minimal
env: NAME=ArchLinux CACHE=$HOME/$NAME
cache:
directories:
- $CACHE
before_install: source .ci/travis-docker.sh --build
script: RUN --server --debug
allow_failures:
# Arch linux is always the latest version and by definition not stable
- name: Arch Linux (Debug)
# Report build completion even if optional builds are not completed
fast_finish: true
# Builds for pull requests skip the deployment step altogether
deploy:
# Deploy configuration for "beta" releases
- provider: releases
token:
secure: mLMF41q7xgOR1sjczsilEy7HQis2PkZCzhfOGbn/8FoOQnmmPOZjrsdhn06ZSl3SFsbfCLuClDYXAbFscQmdgjcGN5AmHV+JYfW650QEuQa/f4/lQFsVRtEqUA1O3FQ0OuRxdpCfJubZBdFVH8SbZ93GLC5zXJbkWQNq+xCX1fU=
name: "Cockatrice $TRAVIS_TAG"
release_notes: "Beta release of Cockatrice"
skip_cleanup: true
file_glob: true
file: "build/Cockatrice-*"
overwrite: true
draft: false
prerelease: true
on:
tags: true
repo: Cockatrice/Cockatrice
condition: $TRAVIS_TAG =~ ([0-9]|[1-9][0-9])(\.([0-9]|[1-9][0-9])){2}-beta(\.([2-9]|[1-9][0-9]))?$ # regex to match semver naming convention for beta pre-releases
# Deploy configuration for "stable" releases
- provider: releases
token:
secure: mLMF41q7xgOR1sjczsilEy7HQis2PkZCzhfOGbn/8FoOQnmmPOZjrsdhn06ZSl3SFsbfCLuClDYXAbFscQmdgjcGN5AmHV+JYfW650QEuQa/f4/lQFsVRtEqUA1O3FQ0OuRxdpCfJubZBdFVH8SbZ93GLC5zXJbkWQNq+xCX1fU=
skip_cleanup: true
file_glob: true
file: "build/Cockatrice-*"
overwrite: true
draft: false
prerelease: false
on:
tags: true
repo: Cockatrice/Cockatrice
condition: $TRAVIS_TAG =~ ([0-9]|[1-9][0-9])(\.([0-9]|[1-9][0-9])){2}$ # regex to match semver naming convention for stable full releases
notifications:
email: false
webhooks:
urls:
- https://webhooks.gitter.im/e/d94969c3b01b22cbdcb7
on_success: change
on_failure: change
on_start: never
on_cancel: change
on_error: change
# Announcements of build image updates: https://docs.travis-ci.com/user/build-environment-updates/
# For precise versions of preinstalled tools on the VM, check “Build system information” in the build log!
# Official validator for ".travis.yml" config file: https://yaml.travis-ci.org
# Official Travis CI Build Config Explorer: https://config.travis-ci.com/explore
# Travis CI config documentation: https://docs.travis-ci.com/user/customizing-the-build