Merge pull request dotnet/coreclr#9853 from hqueue/arm/ci_legs
authorGaurav Khanna <gkhanna@microsoft.com>
Tue, 14 Mar 2017 04:56:31 +0000 (21:56 -0700)
committerGitHub <noreply@github.com>
Tue, 14 Mar 2017 04:56:31 +0000 (21:56 -0700)
[ARM/CI] Add manual triggering CI for arm and armel

Commit migrated from https://github.com/dotnet/coreclr/commit/50cae4eb584e5b5f5676c4c6e4d8a0016def5780

1  2 
src/coreclr/netci.groovy

@@@ -1695,17 -2172,43 +1723,43 @@@ def static calculateBuildCommands(def n
                          ROOTFS_DIR=/opt/aarch64-linux-gnu-root ./build.sh skipmscorlib arm64 cross verbose ${lowerConfiguration}"""
  
                      // Basic archiving of the build, no pal tests
 -                    Utilities.addArchival(newJob, "bin/Product/**")
 +                    Utilities.addArchival(newJob, "bin/Product/**", "bin/Product/**/.nuget/**")
                      break
                  case 'arm':
-                     // All builds for ARM architecture are run on Ubuntu currently
-                     assert os == 'Ubuntu'
                      if (isLinuxEmulatorBuild == false) {
-                         buildCommands += """echo \"Using rootfs in /opt/arm-liux-genueabihf-root\"
-                             ROOTFS_DIR=/opt/arm-linux-genueabihf-root ./build.sh skipmscorlib arm cross verbose ${lowerConfiguration}"""
+                         // Cross builds for ARM runs on Ubuntu, Ubuntu16.04 and Tizen currently
+                         assert (os == 'Ubuntu') || (os == 'Ubuntu16.04') || (os == 'Tizen')
+                         // default values for Ubuntu
+                         def arm_abi="arm"
+                         def linuxCodeName="trusty"
+                         if (os == 'Ubuntu16.04') {
+                             linuxCodeName="xenial"
+                         }
+                         else if (os == 'Tizen') {
+                             arm_abi="armel"
+                             linuxCodeName="tizen"
+                         }
+                         // Unzip the Windows test binaries first. Exit with 0
+                         buildCommands += "unzip -q -o ./bin/tests/tests.zip -d ./bin/tests/Windows_NT.x64.${configuration} || exit 0"
+                         // Unpack the corefx binaries
+                         buildCommands += "mkdir ./bin/CoreFxBinDir"
+                         buildCommands += "tar -xf ./bin/build.tar.gz -C ./bin/CoreFxBinDir"
+                         // Call the ARM CI script to cross build and test using docker
+                         buildCommands += """./tests/scripts/arm32_ci_script.sh \\
+                         --mode=docker \\
+                         --${arm_abi} \\
+                         --linuxCodeName=${linuxCodeName} \\
+                         --buildConfig=${lowerConfiguration} \\
+                         --testRootDir=./bin/tests/Windows_NT.x64.${configuration} \\
+                         --coreFxBinDir=./bin/CoreFxBinDir \\
+                         --testDirFile=./tests/testsRunningInsideARM.txt"""
  
                          // Basic archiving of the build, no pal tests
 -                        Utilities.addArchival(newJob, "bin/Product/**")
 +                        Utilities.addArchival(newJob, "bin/Product/**", "bin/Product/**/.nuget/**")
                          break
                      }
                      else {