diff --git a/netci.groovy b/netci.groovy index 3af3b3cf1bc3..63c81068e381 100755 --- a/netci.groovy +++ b/netci.groovy @@ -1018,7 +1018,7 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os, Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} Cross ${configuration} Build") } else { - Utilities.addGithubPRTriggerForBranch(job, branch, "Linux ARM Emulator Cross ${configuration} Build", "(?i).*test\\W+Linux\\W+arm\\W+emulator\\W+${configuration}.*") + Utilities.addGithubPRTriggerForBranch(job, branch, "Linux ARM Emulator Build", "(?i).*test\\W+Linux\\W+arm\\W+emulator.*") } break default: @@ -1728,26 +1728,19 @@ combinedScenarios.each { scenario -> break } else { - // Build only for Debug or Release - assert ( lowerConfiguration == 'debug' || lowerConfiguration == 'release' ) - - // Setup variables to hold emulator folder path and the rootfs mount path - buildCommands += "armemul_path=/opt/linux-arm-emulator ; armrootfs_mountpath=/opt/linux-arm-emulator-root" // Unmount previously mounted rootfs and mount the Linux ARM emulator rootfs at /opt/linux-arm-emulator-root/ - buildCommands += "if grep -qs $armrootfs_mountpath /proc/mounts; then sudo umount $armrootfs_mountpath; fi ; sudo mount $armemul_path/platform/rootfs-t30.ext4 $armrootfs_mountpath" - - // Export LINUX_ARM_INCPATH to hold the include paths to be used by CPLUS_INCLUDE_PATH environment variable - // Apply the changes needed to the library search paths to build for the emulator rootfs - buildCommands += """echo \"Exporting LINUX_ARM_INCPATH environment variable\" - source $armrootfs_mountpath/dotnet/setenv/setenv_incpath.sh $armrootfs_mountpath - - echo \"Applying cross build patch to suit Linux ARM emulator rootfs\" - git am < $armrootfs_mountpath/dotnet/setenv/coreclr_cross.patch - - ROOTFS_DIR=$armrootfs_mountpath CPLUS_INCLUDE_PATH=$LINUX_ARM_INCPATH CXXFLAGS=$LINUX_ARM_CXXFLAGS ./build.sh arm-softfp clean cross verbose skipmscorlib clang3.5 ${lowerConfiguration} - - echo \"Rewinding HEAD to master code\" - git reset --hard HEAD^""" + buildCommands += "if grep -qs '/opt/linux-arm-emulator-root' /proc/mounts; then sudo umount /opt/linux-arm-emulator-root; fi ; sudo mount /opt/linux-arm-emulator/platform/rootfs-t30.ext4 /opt/linux-arm-emulator-root/" + // Remove old copy of coreclr and copy the latest version of coreclr + // This need to be done as it is not possible to clone the repository inside the chroot jail + buildCommands += "sudo rm -rf /opt/linux-arm-emulator-root/home/coreclr; sudo mkdir /opt/linux-arm-emulator-root/home/coreclr; sudo cp -R ./ /opt/linux-arm-emulator-root/home/coreclr" + + // Chroot into the Linux ARM emulator environment and execute the build + buildCommands += """echo \"Chrooting into Linux ARM emulator environment\" + sudo chroot /opt/linux-arm-emulator-root/ /bin/bash -x <