forked from citizenfx/fivem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
165 lines (155 loc) · 2.78 KB
/
.gitlab-ci.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
.buildscript: &build_windows
stage: build
script:
- ".\\code\\tools\\ci\\build.ps1 -DontUpload $true"
build_client:
<<: *build_windows
tags:
- vs2017
- client
variables:
IS_FXSERVER: '0'
artifacts:
paths:
- caches/diff/
- caches/caches.xml
- caches/CitizenFX.exe.xz
- caches/version.txt
expire_in: 1 month
cache:
key: client
untracked: true
paths:
- code/shared/citversion.h
- caches/
- code/build/
except:
- server-ci
- tags
build_server_windows:
<<: *build_windows
tags:
- vs2017
- server
variables:
IS_FXSERVER: '1'
artifacts:
paths:
- out/server.zip
except:
- tags
#- master
- feature/update-to-1365
#- feature/update-to-1493
cache:
key: server
untracked: true
build_proot_linux:
stage: build
image: alpine:edge
variables:
GIT_SUBMODULE_STRATEGY: recursive
# workaround gitlab-ci-multi-runner#2148
GIT_SSL_CAPATH: /etc/ssl/certs/
script:
- sh code/tools/ci/build_server_proot.sh
artifacts:
paths:
- fx.tar.xz
except:
- tags
- master
- feature/update-to-1365
- feature/update-to-1604
- feature/cloning-stuff-releng
tags:
- linux
deploy_specific:
stage: deploy
dependencies:
- build_client
script:
- ".\\code\\tools\\ci\\build.ps1 -DontBuild $true"
environment:
name: specific/$CI_BUILD_REF_NAME
only:
- branches
tags:
- vs2017
- client
except:
- master
- server-ci
- tags
deploy_canary:
stage: deploy
dependencies:
- build_client
script:
- ".\\code\\tools\\ci\\build.ps1 -DontBuild $true"
environment:
name: canary
tags:
- vs2017
- client
only:
- master
deploy_prod:
stage: deploy
dependencies:
- build_client
script:
- ".\\code\\tools\\ci\\build.ps1 -DontBuild $true"
environment:
name: production
when: manual
tags:
- vs2017
- client
only:
- master
typings_server:
stage: deploy
dependencies:
- build_server_windows
image: node:alpine
tags:
- linux
only:
- master
variables:
GIT_SUBMODULE_STRATEGY: recursive
# workaround gitlab-ci-multi-runner#2148
GIT_SSL_CAPATH: /etc/ssl/certs/
script:
- sh ext/typings/server/build.sh
typings_client:
stage: deploy
dependencies:
- build_client
tags:
- vs2017
only:
- master
script:
- "cmd /c ext\\typings\\client\\build.bat"
nuget_client:
stage: deploy
dependencies:
- build_client
tags:
- vs2017
only:
- master
script:
- "cmd /c ext\\nuget\\client\\build.bat"
nuget_server:
stage: deploy
dependencies:
- build_server_windows
tags:
- vs2017
only:
- master
script:
- "cmd /c ext\\nuget\\server\\build.bat"