Skip to content

Commit bab11be

Browse files
authored
Merge pull request #1202 from Unity-Technologies/stevedore-7z
Automate creating stevedore mbe artifact
2 parents e638bc8 + dde1d2f commit bab11be

File tree

4 files changed

+62
-7
lines changed

4 files changed

+62
-7
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ docs/perlmod*
121121
artifacts
122122
.vs
123123
external/buildscripts/build.gen*
124+
stevedore
124125

125126
# Allow
126127
!external/buildscripts/bee.exe

.gitlab-ci.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,17 @@ build_linux_x86:
237237
- /opt/post_build_script.sh
238238

239239
collate_builds:
240-
image: ubuntu:latest
241240
stage: collate
241+
tags:
242+
- bokken-job
243+
variables:
244+
BOKKEN_VM: collate_ubuntu
245+
BOKKEN_JOB: |
246+
resources:
247+
- name: collate_ubuntu
248+
image: cds-ops/ubuntu-18.04-agent:v1.0.11-765607
249+
flavor: b1.large
250+
type: Unity::VM
242251
dependencies:
243252
- build_android
244253
- build_osx_runtime
@@ -249,17 +258,18 @@ collate_builds:
249258
- build_linux_x86
250259
- build_linux_x64
251260
before_script:
252-
- apt-get update -qy && apt-get -qy upgrade
253-
- apt-get install -qy perl
254-
- apt-get install -qy zip unzip
255-
- apt-get install -qy p7zip-full p7zip-rar
261+
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -qy && sudo DEBIAN_FRONTEND=noninteractive apt-get -qy upgrade
262+
- sudo apt-get install -qy zip unzip
263+
- sudo apt-get install -qy p7zip-full p7zip-rar
256264
script:
257265
- perl external/buildscripts/collect_allbuilds.pl
258266
- pwd
259267
- ls -al
260268
artifacts:
261269
paths:
262270
- collectedbuilds/builds.7z
271+
- stevedore/MonoBleedingEdge.7z
272+
- stevedore/artifactid.txt
263273
expire_in: 1 week
264274

265275

.yamato/collate_builds.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ artifacts:
2727
builds:
2828
paths:
2929
- collectedbuilds/builds.7z
30+
stevedore:
31+
paths:
32+
- stevedore/MonoBleedingEdge.7z
33+
- stevedore/artifactid.txt

external/buildscripts/collect_allbuilds.pl

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,6 @@
4949
print MYFILE "TC buildconfigname was: $ENV{TEAMCITY_BUILDCONF_NAME}\n";
5050
close(MYFILE);
5151

52-
system("zip -r builds.zip *") eq 0 or die("failed zipping up builds");
53-
5452
my $externalzip = "";
5553
if($^O eq "linux")
5654
{
@@ -61,6 +59,46 @@
6159
$externalzip = "$monoroot/../../mono-build-deps/build/7z/osx/7za";
6260
}
6361

62+
63+
# Create stevedore artifact
64+
print(">>> Create stevedore artifact $monoroot/stevedore/MonoBleedingEdge.7z");
65+
if($^O eq "linux" || $^O eq 'darwin')
66+
{
67+
rmtree("../stevedore");
68+
my $stevedoreMbePath = "../stevedore/MonoBleedingEdge";
69+
my $stevedoreMbeBuildsPath = "../stevedore/MonoBleedingEdge/builds";
70+
my $stevedoreMbe7z = "../stevedore/MonoBleedingEdge.7z";
71+
my $stevedoreMbeArtifactID = "../stevedore/artifactid.txt";
72+
73+
system("mkdir -p $stevedoreMbeBuildsPath") eq 0 or die("failed to mkdir $stevedoreMbeBuildsPath");
74+
system("cp -r * $stevedoreMbeBuildsPath/") eq 0 or die ("failed copying builds to $stevedoreMbeBuildsPath\n");
75+
if(-f $externalzip)
76+
{
77+
system("$externalzip a $stevedoreMbe7z $stevedoreMbePath/* -sdel") eq 0 or die("failed 7z up $stevedoreMbePath");
78+
}
79+
else
80+
{
81+
#Use 7z installed on the machine. If its not installed, please install it.
82+
system("7z a $stevedoreMbe7z $stevedoreMbePath/* -sdel") eq 0 or die("failed 7z up $stevedoreMbePath");
83+
}
84+
system("rm -rf $stevedoreMbePath") eq 0 or die("failed to delete $stevedoreMbePath");
85+
86+
# Write stevedore artifact ID to file
87+
my $revision = `git rev-parse --short HEAD`;
88+
system("mono ../external/buildscripts/bee.exe steve new $stevedoreMbe7z MonoBleedingEdge $revision") eq 0 or die("failed running bee");
89+
open (my $file, '>', $stevedoreMbeArtifactID);
90+
my $artifactID = `mono ../external/buildscripts/bee.exe steve new $stevedoreMbe7z MonoBleedingEdge $revision`;
91+
print $file $artifactID;
92+
print (">>> MonoBleedingEdge stevedore artifact ID: $artifactID\n");
93+
}
94+
else
95+
{
96+
die("Unsupported platform to create stevedore artifact.")
97+
}
98+
print(">>> Done creating stevedore artifact $monoroot/MonoBleedingEdge.7z");
99+
100+
system("zip -r builds.zip *") eq 0 or die("failed zipping up builds");
101+
64102
if($^O eq "linux" || $^O eq 'darwin')
65103
{
66104
if(-f $externalzip)
@@ -78,3 +116,5 @@
78116
die("Unsupported platform for build collection.")
79117
}
80118

119+
120+

0 commit comments

Comments
 (0)