-
Notifications
You must be signed in to change notification settings - Fork 2.7k
ARM-CI: Convert Linux ARM emulator CI check to cross build #5680
ARM-CI: Convert Linux ARM emulator CI check to cross build #5680
Conversation
Previous PR #4141 used chroot jail to build coreclr for Linux ARM emulator rootfs. This took a lot of time and lead to timeout errors in the CI system. This PR aims to the change the build process of the Linux ARM emulator CI to cross build. The summary of changes are:
|
Verified on local system. The time taken for the whole process (mounting rootfs, setting env variables and the cross build itself) is
|
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still have to use "skipmscorlib" flag?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we need it. This flag has been included in cross builds in the CI system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@prajwal-aithal have you confirmed that this PR does what you expect it to? This line is causing "dotnet-bot test CI please' to fail every time, as you don't escape the '$' before armrootfs_mountpath, so the groovy compiler thinks you're trying to use a local variable named armrootfs_mountpath, when no such variable exists in netci.groovy. I suspect this won't work as you want it to anyways, since I believe each command is executed in a new shell in the CI, so any variable you initialize in a shell in one command (i.e. armrootfs_mountpath) won't be available when the next command executes. I could be wrong about this, however - if everything is working how you expect after this PR went in, then we need to find some other solution to the 'dotnet-bot test CI please' problem - we can't afford to have that job fail every time, otherwise there's no way to know if a change to netci.groovy is going to break our CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are correct, this change breaks the generator. It has been reverted with #5766. @prajwal-aithal please re-issue this PR with fixes.
@prajwal-aithal , I have reviewed the PR. Please, check it.
It's reasonable time. Acked-by: Geunsik Lim geunsik.lim@samsung.com |
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 ./build.sh arm-softfp clean cross verbose skipmscorlib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, don't forget that we have to append release
build as well as debug
(by default).
* Previously used emulated build took a lot of time leading to timeout errors * Changing this CI check to build using cross build Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
lgtm |
Note this is based upon Prajwal's original PR dotnet#5680
Note this is based upon Prajwal's original PR dotnet#5680
…-fix ARM-CI: Convert Linux ARM emulator CI check to cross build (fixes PR #5680)
…ci-cross-build ARM-CI: Convert Linux ARM emulator CI check to cross build Commit migrated from dotnet/coreclr@0c7ac3b
…otnet/coreclr#5680) * Previously used emulated build took a lot of time leading to timeout errors * Changing this CI check to build using cross build * Resolves CI issues caused by previous identical PR dotnet/coreclr#5680 Signed-off-by: Prajwal A N <an.prajwal@samsung.com> Commit migrated from dotnet/coreclr@c74d309
…ci-cross-build-fix ARM-CI: Convert Linux ARM emulator CI check to cross build (fixes PR dotnet/coreclr#5680) Commit migrated from dotnet/coreclr@ab4cc73
Signed-off-by: Prajwal A N an.prajwal@samsung.com