Skip to content

Commit 00c4e9b

Browse files
authored
Merge pull request #1075 from Unity-Technologies/use-stevedore-gitlab-ci
Add Gitlab CI configs
2 parents cedef20 + 01275c1 commit 00c4e9b

File tree

2 files changed

+231
-6
lines changed

2 files changed

+231
-6
lines changed

.gitlab-ci.yml

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
stages:
2+
- runall
3+
- build
4+
- collate
5+
6+
# This is just a config to help trigger rest of the builds
7+
run_all_builds:
8+
image: ubuntu:latest
9+
stage: runall
10+
variables:
11+
GIT_STRATEGY: none
12+
script:
13+
- pwd
14+
when: manual
15+
allow_failure: false
16+
17+
# Build
18+
build_osx_runtime:
19+
stage: build
20+
tags:
21+
- buildfarm
22+
- darwin
23+
script:
24+
- git submodule update --init --recursive
25+
- chmod +x external/buildscripts/bee
26+
- cd external/buildscripts
27+
- ./bee
28+
- cd ../..
29+
- perl external/buildscripts/build_runtime_osx.pl
30+
- mkdir -p incomingbuilds/osx-i386
31+
- cp -r builds/ incomingbuilds/osx-i386/
32+
artifacts:
33+
paths:
34+
- incomingbuilds/osx-i386
35+
expire_in: 1 week
36+
# Important! Do not remove this after_script!!
37+
after_script:
38+
- /opt/post_build_script.sh
39+
40+
build_osx_classlibs:
41+
stage: build
42+
tags:
43+
- buildfarm
44+
- darwin
45+
script:
46+
- git submodule update --init --recursive
47+
- chmod +x external/buildscripts/bee
48+
- cd external/buildscripts
49+
- ./bee
50+
- cd ../..
51+
- perl external/buildscripts/build_classlibs_osx.pl
52+
- mkdir -p incomingbuilds/classlibs
53+
- cp -r ZippedClasslibs.tar.gz incomingbuilds/classlibs/
54+
- cd incomingbuilds/classlibs
55+
- tar -pzxf ZippedClasslibs.tar.gz
56+
- rm -f ZippedClasslibs.tar.gz
57+
- cd ../..
58+
artifacts:
59+
paths:
60+
- incomingbuilds/classlibs
61+
expire_in: 1 week
62+
# Important! Do not remove this after_script!!
63+
after_script:
64+
- /opt/post_build_script.sh
65+
66+
build_android:
67+
stage: build
68+
tags:
69+
- buildfarm
70+
- darwin
71+
script:
72+
- git submodule update --init --recursive
73+
- chmod +x external/buildscripts/bee
74+
- cd external/buildscripts
75+
- ./bee
76+
- cd ../..
77+
- bash external/buildscripts/build_runtime_android.sh
78+
- mkdir -p incomingbuilds/android/
79+
- cp -r builds/* incomingbuilds/android/
80+
artifacts:
81+
paths:
82+
- incomingbuilds/android
83+
expire_in: 1 week
84+
# Important! Do not remove this after_script!!
85+
after_script:
86+
- /opt/post_build_script.sh
87+
88+
build_win:
89+
stage: build
90+
tags:
91+
- buildfarm
92+
- windows
93+
script:
94+
- git submodule update --init --recursive
95+
- cd external/buildscripts
96+
- ./bee.exe
97+
- cd ../..
98+
- perl external/buildscripts/build_runtime_win64.pl
99+
- mkdir -p incomingbuilds/win64
100+
- cp -r builds/* incomingbuilds/win64/
101+
artifacts:
102+
paths:
103+
- incomingbuilds/win64
104+
expire_in: 1 week
105+
# Important! Do not remove this after_script!!
106+
after_script:
107+
- C:\Users\builduser\post_build_script.bat
108+
109+
build_win_x86:
110+
stage: build
111+
tags:
112+
- buildfarm
113+
- windows
114+
script:
115+
- git submodule update --init --recursive
116+
- cd external/buildscripts
117+
- ./bee.exe
118+
- cd ../..
119+
- perl external/buildscripts/build_runtime_win.pl
120+
- mkdir -p incomingbuilds/win32
121+
- cp -r builds/* incomingbuilds/win32/
122+
artifacts:
123+
paths:
124+
- incomingbuilds/win32
125+
expire_in: 1 week
126+
# Important! Do not remove this after_script!!
127+
after_script:
128+
- C:\Users\builduser\post_build_script.bat
129+
130+
build_win_bare_minimum:
131+
stage: build
132+
tags:
133+
- buildfarm
134+
- windows
135+
script:
136+
- git submodule update --init --recursive
137+
- cd external/buildscripts
138+
- ./bee.exe
139+
- cd ../..
140+
- perl external/buildscripts/build_unityscript_bareminimum_win.pl
141+
- mkdir -p incomingbuilds/bareminimum
142+
- cp -r builds/* incomingbuilds/bareminimum/
143+
artifacts:
144+
paths:
145+
- incomingbuilds/bareminimum
146+
expire_in: 1 week
147+
# Important! Do not remove this after_script!!
148+
after_script:
149+
- C:\Users\builduser\post_build_script.bat
150+
151+
build_linux_x64:
152+
stage: build
153+
tags:
154+
- buildfarm
155+
- linux
156+
script:
157+
- git submodule update --init --recursive
158+
- chmod +x external/buildscripts/bee
159+
- cd external/buildscripts
160+
- ./bee
161+
- cd ../..
162+
- perl external/buildscripts/build_runtime_linux.pl -build64=1
163+
- mkdir -p incomingbuilds/linux64
164+
- cp -r builds/* incomingbuilds/linux64/
165+
artifacts:
166+
paths:
167+
- incomingbuilds/linux64
168+
expire_in: 1 week
169+
# Important! Do not remove this after_script!!
170+
after_script:
171+
- /opt/post_build_script.sh
172+
173+
build_linux_x86:
174+
stage: build
175+
tags:
176+
- buildfarm
177+
- linux
178+
script:
179+
- git submodule update --init --recursive
180+
- chmod +x external/buildscripts/bee
181+
- cd external/buildscripts
182+
- ./bee
183+
- cd ../..
184+
- perl external/buildscripts/build_runtime_linux.pl
185+
- mkdir -p incomingbuilds/linux32
186+
- cp -r builds/* incomingbuilds/linux32/
187+
artifacts:
188+
paths:
189+
- incomingbuilds/linux32
190+
expire_in: 1 week
191+
# Important! Do not remove this after_script!!
192+
after_script:
193+
- /opt/post_build_script.sh
194+
195+
collate_builds:
196+
image: ubuntu:latest
197+
stage: collate
198+
dependencies:
199+
- build_android
200+
- build_osx_runtime
201+
- build_osx_classlibs
202+
- build_win
203+
- build_win_x86
204+
- build_win_bare_minimum
205+
- build_linux_x86
206+
- build_linux_x64
207+
before_script:
208+
- apt-get update -qy && apt-get -qy upgrade
209+
- apt-get install -qy perl
210+
- apt-get install -qy zip unzip
211+
- apt-get install -qy p7zip-full p7zip-rar
212+
script:
213+
- perl external/buildscripts/collect_allbuilds.pl
214+
- pwd
215+
- ls -al
216+
artifacts:
217+
paths:
218+
- collectedbuilds/builds.7z
219+
expire_in: 1 week

external/buildscripts/collect_allbuilds.pl

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,19 @@
5151

5252
system("zip -r builds.zip *") eq 0 or die("failed zipping up builds");
5353

54-
if($^O eq "linux")
55-
{
56-
system("$monoroot/../../mono-build-deps/build/7z/linux64/7za a builds.7z * -x!builds.zip") eq 0 or die("failed 7z up builds");
57-
}
58-
elsif($^O eq 'darwin')
54+
my $externalzip = "$monoroot/../../mono-build-deps/build/7z/linux64/7za";
55+
56+
if($^O eq "linux" || $^O eq 'darwin')
5957
{
60-
system("$monoroot/../../mono-build-deps/build/7z/osx/7za a builds.7z * -x!builds.zip") eq 0 or die("failed 7z up builds");
58+
if(-f $externalzip)
59+
{
60+
system("$externalzip a builds.7z * -x!builds.zip") eq 0 or die("failed 7z up builds");
61+
}
62+
else
63+
{
64+
#Use 7z installed on the machine. If its not installed, please install it.
65+
system("7z a builds.7z * -x!builds.zip") eq 0 or die("failed 7z up builds");
66+
}
6167
}
6268
else
6369
{

0 commit comments

Comments
 (0)