From 0b341d01d2ac6894045b589b82ac594818cb71d1 Mon Sep 17 00:00:00 2001 From: Jonathan Chambers Date: Thu, 14 Feb 2019 18:14:53 -0500 Subject: [PATCH] Hello World Yamato --- .yamato/build_android.sh | 7 ++++++ .yamato/build_android.yml | 14 +++++++++++ .yamato/build_linux_x64.sh | 15 ++++++++++++ .yamato/build_linux_x64.yml | 14 +++++++++++ .yamato/build_linux_x86.sh | 19 +++++++++++++++ .yamato/build_linux_x86.yml | 14 +++++++++++ .yamato/build_osx_classlibs.sh | 11 +++++++++ .yamato/build_osx_classlibs.yml | 15 ++++++++++++ .yamato/build_osx_runtime.sh | 7 ++++++ .yamato/build_osx_runtime.yml | 14 +++++++++++ .yamato/build_win.bat | 5 ++++ .yamato/build_win.yml | 16 +++++++++++++ .yamato/build_win_bare_minimum.bat | 5 ++++ .yamato/build_win_bare_minimum.yml | 16 +++++++++++++ .yamato/build_win_x86.bat | 5 ++++ .yamato/build_win_x86.yml | 16 +++++++++++++ .yamato/collate_builds.sh | 5 ++++ .yamato/collate_builds.yml | 24 +++++++++++++++++++ .../LinuxBuildEnvironment-20170609.conf | 11 +++++++++ external/buildscripts/build.pl | 17 +++++++++---- 20 files changed, 246 insertions(+), 4 deletions(-) create mode 100755 .yamato/build_android.sh create mode 100644 .yamato/build_android.yml create mode 100755 .yamato/build_linux_x64.sh create mode 100644 .yamato/build_linux_x64.yml create mode 100755 .yamato/build_linux_x86.sh create mode 100644 .yamato/build_linux_x86.yml create mode 100755 .yamato/build_osx_classlibs.sh create mode 100644 .yamato/build_osx_classlibs.yml create mode 100755 .yamato/build_osx_runtime.sh create mode 100644 .yamato/build_osx_runtime.yml create mode 100644 .yamato/build_win.bat create mode 100644 .yamato/build_win.yml create mode 100644 .yamato/build_win_bare_minimum.bat create mode 100644 .yamato/build_win_bare_minimum.yml create mode 100644 .yamato/build_win_x86.bat create mode 100644 .yamato/build_win_x86.yml create mode 100755 .yamato/collate_builds.sh create mode 100644 .yamato/collate_builds.yml create mode 100644 .yamato/config/LinuxBuildEnvironment-20170609.conf diff --git a/.yamato/build_android.sh b/.yamato/build_android.sh new file mode 100755 index 000000000000..a7fc04b5905d --- /dev/null +++ b/.yamato/build_android.sh @@ -0,0 +1,7 @@ +git submodule update --init --recursive +cd external/buildscripts +./bee +cd ../.. +perl external/buildscripts/build_runtime_android.pl --stevedorebuilddeps=1 +mkdir -p incomingbuilds/android +cp -r builds/* incomingbuilds/android/ \ No newline at end of file diff --git a/.yamato/build_android.yml b/.yamato/build_android.yml new file mode 100644 index 000000000000..6581914d07b2 --- /dev/null +++ b/.yamato/build_android.yml @@ -0,0 +1,14 @@ +name: build_android + +agent: + type: Unity::VM::osx + image: buildfarm/mac:stable + flavor: m1.mac + +commands: + - .yamato/build_android.sh + +artifacts: + android.zip: + paths: + - incomingbuilds/android/** diff --git a/.yamato/build_linux_x64.sh b/.yamato/build_linux_x64.sh new file mode 100755 index 000000000000..5038d3db930b --- /dev/null +++ b/.yamato/build_linux_x64.sh @@ -0,0 +1,15 @@ +sudo apt-get install -y schroot +sudo apt-get install -y binutils debootstrap +git submodule update --init --recursive +# try again in case previous update failed +git submodule update --init --recursive +cd external/buildscripts +./bee +cd ../.. +perl external/buildscripts/build_runtime_linux.pl -build64=1 --stevedorebuilddeps=1 +echo "Making directory incomingbuilds/linux64" +mkdir -p incomingbuilds/linux64 +ls -al incomingbuilds/linux64 +echo "Copying builds to incomingbuilds" +cp -r builds/* incomingbuilds/linux64/ +ls -al incomingbuilds/linux64 \ No newline at end of file diff --git a/.yamato/build_linux_x64.yml b/.yamato/build_linux_x64.yml new file mode 100644 index 000000000000..c4cf3368ceb7 --- /dev/null +++ b/.yamato/build_linux_x64.yml @@ -0,0 +1,14 @@ +name: build_linux_x64 + +agent: + type: Unity::VM + image: cds-ops/ubuntu-18.04-agent:v1.0.11-765607 + flavor: b1.large + +commands: + - .yamato/build_linux_x64.sh + +artifacts: + linux64.zip: + paths: + - incomingbuilds/linux64/** diff --git a/.yamato/build_linux_x86.sh b/.yamato/build_linux_x86.sh new file mode 100755 index 000000000000..bde51b4bdf0d --- /dev/null +++ b/.yamato/build_linux_x86.sh @@ -0,0 +1,19 @@ +sudo apt-get install -y schroot +sudo apt-get install -y binutils debootstrap +sudo apt-get install -y m4 +sudo apt-get install -y libc6-i386 +sudo apt-get install -y libc6-dev-i386 +sudo apt-get install -y libncurses5-i386 +git submodule update --init --recursive +# try again in case previous update failed +git submodule update --init --recursive +cd external/buildscripts +./bee +cd ../.. +perl external/buildscripts/build_runtime_linux.pl -build64=0 --stevedorebuilddeps=1 +echo "Making directory incomingbuilds/linux32" +mkdir -p incomingbuilds/linux32 +ls -al incomingbuilds/linux32 +echo "Copying builds to incomingbuilds" +cp -r -v builds/* incomingbuilds/linux32/ +ls -al incomingbuilds/linux32 \ No newline at end of file diff --git a/.yamato/build_linux_x86.yml b/.yamato/build_linux_x86.yml new file mode 100644 index 000000000000..bfb7e3369cf7 --- /dev/null +++ b/.yamato/build_linux_x86.yml @@ -0,0 +1,14 @@ +name: build_linux_x86 + +agent: + type: Unity::VM + image: cds-ops/ubuntu-18.04-agent:v1.0.11-765607 + flavor: b1.large + +commands: + - .yamato/build_linux_x86.sh + +artifacts: + linux32.zip: + paths: + - incomingbuilds/linux32/** diff --git a/.yamato/build_osx_classlibs.sh b/.yamato/build_osx_classlibs.sh new file mode 100755 index 000000000000..3e1c75e4d717 --- /dev/null +++ b/.yamato/build_osx_classlibs.sh @@ -0,0 +1,11 @@ +git submodule update --init --recursive +cd external/buildscripts +./bee +cd ../.. +perl external/buildscripts/build_classlibs_osx.pl --stevedorebuilddeps=1 +mkdir -p incomingbuilds/classlibs +cp -r ZippedClasslibs.tar.gz incomingbuilds/classlibs/ +cd incomingbuilds/classlibs +tar -pzxf ZippedClasslibs.tar.gz +rm -f ZippedClasslibs.tar.gz +cd ../.. \ No newline at end of file diff --git a/.yamato/build_osx_classlibs.yml b/.yamato/build_osx_classlibs.yml new file mode 100644 index 000000000000..a1d6ce9c2266 --- /dev/null +++ b/.yamato/build_osx_classlibs.yml @@ -0,0 +1,15 @@ +name: build_osx_classlibs + +agent: + type: Unity::VM::osx + image: buildfarm/mac:latest + flavor: m1.mac + +commands: + - .yamato/build_osx_classlibs.sh + + +artifacts: + classlibs.zip: + paths: + - incomingbuilds/classlibs/** diff --git a/.yamato/build_osx_runtime.sh b/.yamato/build_osx_runtime.sh new file mode 100755 index 000000000000..050d8f35e1df --- /dev/null +++ b/.yamato/build_osx_runtime.sh @@ -0,0 +1,7 @@ +git submodule update --init --recursive +cd external/buildscripts +./bee +cd ../.. +perl external/buildscripts/build_runtime_osx.pl --stevedorebuilddeps=1 +mkdir -p incomingbuilds/osx-i386 +cp -r builds/* incomingbuilds/osx-i386/ \ No newline at end of file diff --git a/.yamato/build_osx_runtime.yml b/.yamato/build_osx_runtime.yml new file mode 100644 index 000000000000..e7fb522c5f52 --- /dev/null +++ b/.yamato/build_osx_runtime.yml @@ -0,0 +1,14 @@ +name: build_osx_runtime + +agent: + type: Unity::VM::osx + image: buildfarm/mac:latest + flavor: m1.mac + +commands: + - .yamato/build_osx_runtime.sh + +artifacts: + osx-i386.zip: + paths: + - incomingbuilds/osx-i386/** diff --git a/.yamato/build_win.bat b/.yamato/build_win.bat new file mode 100644 index 000000000000..e4f20ae60a0b --- /dev/null +++ b/.yamato/build_win.bat @@ -0,0 +1,5 @@ +@echo off +git submodule update --init --recursive +perl external/buildscripts/build_runtime_win64.pl --stevedorebuilddeps=1 +mkdir -p incomingbuilds\win64 +xcopy /s /e /h /y builds\* incomingbuilds\win64 diff --git a/.yamato/build_win.yml b/.yamato/build_win.yml new file mode 100644 index 000000000000..43e1d670cf6e --- /dev/null +++ b/.yamato/build_win.yml @@ -0,0 +1,16 @@ +name: build_win + +agent: + type: Unity::VM + image: platform-foundation/windows-mono-bokken:latest + flavor: b1.xlarge + +interpreter: powershell + +commands: + - .yamato/build_win.bat + +artifacts: + win64.zip: + paths: + - incomingbuilds\win64\** \ No newline at end of file diff --git a/.yamato/build_win_bare_minimum.bat b/.yamato/build_win_bare_minimum.bat new file mode 100644 index 000000000000..cf602765c097 --- /dev/null +++ b/.yamato/build_win_bare_minimum.bat @@ -0,0 +1,5 @@ +@echo off +git submodule update --init --recursive +perl external/buildscripts/build_unityscript_bareminimum_win.pl +mkdir incomingbuilds\bareminimum +xcopy /s /e /h /y builds\* incomingbuilds\bareminimum \ No newline at end of file diff --git a/.yamato/build_win_bare_minimum.yml b/.yamato/build_win_bare_minimum.yml new file mode 100644 index 000000000000..10c4fa733267 --- /dev/null +++ b/.yamato/build_win_bare_minimum.yml @@ -0,0 +1,16 @@ +name: build_win_bare_minimum + +agent: + type: Unity::VM + image: platform-foundation/windows-mono-bokken:latest + flavor: b1.xlarge + +interpreter: powershell + +commands: + - .yamato/build_win_bare_minimum.bat + +artifacts: + bareminimum.zip: + paths: + - incomingbuilds\bareminimum\** diff --git a/.yamato/build_win_x86.bat b/.yamato/build_win_x86.bat new file mode 100644 index 000000000000..ea129180b82e --- /dev/null +++ b/.yamato/build_win_x86.bat @@ -0,0 +1,5 @@ +@echo off +git submodule update --init --recursive +perl external/buildscripts/build_runtime_win.pl --stevedorebuilddeps=1 +mkdir -p incomingbuilds\win32 +xcopy /s /e /h /y builds\* incomingbuilds\win32 \ No newline at end of file diff --git a/.yamato/build_win_x86.yml b/.yamato/build_win_x86.yml new file mode 100644 index 000000000000..952b9bf6b439 --- /dev/null +++ b/.yamato/build_win_x86.yml @@ -0,0 +1,16 @@ +name: build_win_x86 + +agent: + type: Unity::VM + image: platform-foundation/windows-mono-bokken:latest + flavor: b1.xlarge + +interpreter: powershell + +commands: + - .yamato/build_win_x86.bat + +artifacts: + win32.zip: + paths: + - incomingbuilds\win32\** \ No newline at end of file diff --git a/.yamato/collate_builds.sh b/.yamato/collate_builds.sh new file mode 100755 index 000000000000..f7f2000d1a9d --- /dev/null +++ b/.yamato/collate_builds.sh @@ -0,0 +1,5 @@ +sudo apt-get install -qy zip unzip +sudo apt-get install -qy p7zip-full p7zip-rar +perl external/buildscripts/collect_allbuilds.pl +pwd +ls -al \ No newline at end of file diff --git a/.yamato/collate_builds.yml b/.yamato/collate_builds.yml new file mode 100644 index 000000000000..6cad25f7b0de --- /dev/null +++ b/.yamato/collate_builds.yml @@ -0,0 +1,24 @@ +name: collate_builds + +agent: + type: Unity::VM + image: cds-ops/ubuntu-18.04-agent:v1.0.11-765607 + flavor: b1.large + +dependencies: + - .yamato/build_android.yml + - .yamato/build_linux_x64.yml + - .yamato/build_linux_x86.yml + - .yamato/build_osx_classlibs.yml + - .yamato/build_osx_runtime.yml + - .yamato/build_win.yml + - .yamato/build_win_bare_minimum.yml + - .yamato/build_win_x86.yml + +commands: + - .yamato/collate_builds.sh + +artifacts: + builds.zip: + paths: + - collectedbuilds/builds.7z diff --git a/.yamato/config/LinuxBuildEnvironment-20170609.conf b/.yamato/config/LinuxBuildEnvironment-20170609.conf new file mode 100644 index 000000000000..ff554766d76e --- /dev/null +++ b/.yamato/config/LinuxBuildEnvironment-20170609.conf @@ -0,0 +1,11 @@ +[LinuxBuildEnvironment-20170609] +description=Unity Linux SDK 20170609 +directory=/home/bokken/build/output/Unity-Technologies/mono/external/buildscripts/artifacts/Stevedore/linux-sdk-20170609/linux-sdk-20170609/LinuxBuildEnvironment-20170609 +personality=linux +users=bokken,builduser +groups=sudo +root-groups=sudo +preserve-environment=true +type=directory +profile=linux-sdk-20170609 +script-config=linux-sdk-20170609/config diff --git a/external/buildscripts/build.pl b/external/buildscripts/build.pl index c505bb8f0b25..58eae785fb57 100644 --- a/external/buildscripts/build.pl +++ b/external/buildscripts/build.pl @@ -1161,10 +1161,19 @@ else { print(">>> Linux SDK needs to be extracted\n"); - system('mkdir', '-p', $depsSdkFinal); - system('tar', 'xaf', $depsSdkArchive, '-C', $depsSdkFinal) eq 0 or die ("failed to extract Linux SDK\n"); - system('sudo', 'cp', '-R', "$depsSdkFinal/linux-sdk-$sdkVersion", '/etc/schroot'); - system("sed 's,^directory=.*,directory=$depsSdkFinal/$schroot,' \"$depsSdkFinal/$schroot.conf\" | sudo tee /etc/schroot/chroot.d/$schroot.conf") eq 0 or die ("failed to deploy Linux SDK\n"); + system('mkdir', '-p', $depsSdkFinal) eq 0 or die ("failed to create directory $depsSdkFinal\n"); + system('tar', 'xaf', $depsSdkArchive, '-C', $depsSdkFinal) eq 0 or die ("failed to extract Linux SDK\n"); + system('sudo', 'cp', '-R', "$depsSdkFinal/linux-sdk-$sdkVersion", '/etc/schroot') eq 0 or die ("failed to copy SDK\n"); + + if($ENV{YAMATO_PROJECT_ID}) + { + system('sudo', 'cp', "$monoroot/.yamato/config/LinuxBuildEnvironment-20170609.conf", '/etc/schroot/chroot.d/') eq 0 or die ("failed to copy conf file\n"); + system('sudo', 'cat', '/etc/schroot/chroot.d/LinuxBuildEnvironment-20170609.conf') eq 0 or die ("failed to list contents on /etc/schroot/chroot.d\n"); + } + else + { + system("sed 's,^directory=.*,directory=$depsSdkFinal/$schroot,' \"$depsSdkFinal/$schroot.conf\" | sudo tee /etc/schroot/chroot.d/$schroot.conf") eq 0 or die ("failed to deploy Linux SDK\n"); + } } @commandPrefix = @linuxToolchain;