Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Revert "ARM-CI: Convert Linux ARM emulator CI check to cross build" #5766

Merged
merged 1 commit into from
Jun 13, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 13 additions & 20 deletions netci.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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 <<EOF
source /dotnet/setenv/setenv_coreclr.sh
cd home/coreclr
./build.sh arm clean verbose skipmscorlib
EOF"""

// Basic archiving of the build, no pal tests
Utilities.addArchival(newJob, "/opt/linux-arm-emulator-root/home/coreclr/bin/Product/**")
Expand Down