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

ARM-CI: Make the Linux ARM emulator check automatic #5211

Merged
merged 1 commit into from
Jun 23, 2016
Merged

ARM-CI: Make the Linux ARM emulator check automatic #5211

merged 1 commit into from
Jun 23, 2016

Conversation

prajwal-aithal
Copy link

  • Previously the Linux ARM emulator build had to be triggered manually
  • Making this check automatic based on the stability of emulator build

Signed-off-by: Prajwal A N an.prajwal@samsung.com

@prajwal-aithal
Copy link
Author

Merging this PR depends on #5209 and confirmation that the Linux ARM emulator build works correctly.

Dont merge until further notice

@prajwal-aithal
Copy link
Author

@jashook @leemgs Please review this. Lets merge this after #5209 and confirming that the Linux ARM emulator build works correctly.

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator build

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator build

@prajwal-aithal
Copy link
Author

Update: The previous PRs have not yet resolved the errors in Linux ARM emulator build. Merging this PR will have to wait until the errors are resolved.

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator build

@mkborg
Copy link

mkborg commented Jun 3, 2016

21:46:42 + sudo chroot /opt/linux-arm-emulator-root/ /bin/bash -x
21:46:43 chroot: failed to run command ‘/bin/bash’: Exec format error

Recently I was experimenting with ARM 'chroot' in 'docker' container and got similar issue. In my case it failed because '/proc/sys/fs/binfmt_misc/' was not mounted.

@prajwal-aithal
Copy link
Author

@mkborg I checked this issue on the CI machines. This error was caused as the qemu-arm-static binary was not installed correctly. I have resolved this error, but I dont know if the new emulator rootfs has been activated in the CI machines after that.

@jashook Could you please confirm if the CI machines are using the latest emulator image?

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator build

@prajwal-aithal
Copy link
Author

@jashook I have made a change in the timeout of the job (extending from previous 2 hours to 4 hours). I think with this change everything should work well.

This PR also makes the CI check automatic. Can you please review this PR and merge it as soon as possible?

@myungjoo
Copy link

myungjoo commented Jun 9, 2016

LTGM.

Acked-by: MyungJoo Ham

I've been waiting for this long enough :)

@jashook
Copy link

jashook commented Jun 9, 2016

@prajwal-aithal can you hoist out the timeout change into its own PR?

Also, the inner dev loop is expected to run well within this timeout by design. Changing the timeout for the jobs that run on PR is not something we are willing to do. In the meantime this is still ok to run post check-in. Why is this build so long? Does it have to be done in the emulated environment? Can we not do cross builds to solve this problem?

/cc @mmitche @RussKeldorph @russellhadley

@prajwal-aithal prajwal-aithal changed the title arm-ci: Make the Linux ARM emulator check automatic ARM-CI: Make the Linux ARM emulator check automatic Jun 10, 2016
@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator Debug Build

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator Release Build

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator Debug build

@mkborg
Copy link

mkborg commented Jun 13, 2016

04:16:43 + sudo cp -R ./ /opt/linux-arm-emulator-root/home/coreclr`

I would suggest to use mount -o bind instead of copying CoreCLR:
sudo mount . /opt/linux-arm-emulator-root/home/coreclr -o bind

@mkborg
Copy link

mkborg commented Jun 13, 2016

04:16:46 + ./build.sh arm clean verbose skipmscorlib

I suppose emulator is mainly for ARM soft FP. Then why arm instead of arm-softfp?

@jashook
Copy link

jashook commented Jun 13, 2016

@dotnet-bot test CI Please

@jashook
Copy link

jashook commented Jun 15, 2016

@dotnet-bot test Linux ARM emulator Debug build

@prajwal-aithal
Copy link
Author

@jashook Going by the name of the job, I think the PR #5786 has not yet been included in the CI system (The name of the job is supposed to look like Linux ARM Emulator Cross {configuration} Build). When can we test this job again including the changes made by PR #5786 ?

@jashook
Copy link

jashook commented Jun 15, 2016

@dotnet-bot test Linux ARM emulator Debug build

@jashook
Copy link

jashook commented Jun 15, 2016

@dotnet-bot test Linux ARM emulator Release build

@prajwal-aithal
Copy link
Author

@jashook The builds are failing. However, the errors seem to be caused by the CI system rather than the emulator build itself. Could you please look at the errors?

@jashook
Copy link

jashook commented Jun 15, 2016

@prajwal-aithal I have found the problem, working on it now.

@jashook
Copy link

jashook commented Jun 16, 2016

@dotnet-bot test Linux ARM emulator Release build

@prajwal-aithal
Copy link
Author

@jashook The build is failing with the following error

17:29:49 + sudo mount /opt/linux-arm-emulator/platform/rootfs-t30.ext4 /opt/linux-arm-emulator-root
17:29:49 mount: mount point /opt/linux-arm-emulator-root does not exist

I remember creating this directory (/opt/linux-arm-emulator-root/) on the CI machine. Is a new image being used in the CI system? If yes, could you please create the directory (mkdir /opt/linux-arm-emulator-root) in the new image?

@jashook
Copy link

jashook commented Jun 22, 2016

@dotnet-bot test Linux ARM emulator Release build

@jashook
Copy link

jashook commented Jun 22, 2016

@dotnet-bot test Linux ARM emulator Debug build

@jashook
Copy link

jashook commented Jun 23, 2016

@prajwal-aithal looks like the problem still exists with the bash script. I am unable to reproduce that error manually on the machine or through the script environment in jenkins.

@jashook
Copy link

jashook commented Jun 23, 2016

@mmitche PTAL

@prajwal-aithal
Copy link
Author

@jashook That error is caused by the absence of the the binutils-arm-linux-gnueabi package on the Ubuntu machine. I did install this on the CI machine that we were working on. Should this be done on all machines (or is the same image used in all CI machines)?

@jashook
Copy link

jashook commented Jun 23, 2016

@prajwal-aithal I see, we will need to capture that vm and use it in the ci system.

@prajwal-aithal
Copy link
Author

@jashook Ohh, can this be done soon or would this take a lot of time?

@jashook
Copy link

jashook commented Jun 23, 2016

@prajwal-aithal hopefully soon, working on it now.

@prajwal-aithal
Copy link
Author

@jashook Thank you. Looking forward to see the result of the cross build on the updated VM.

@jashook
Copy link

jashook commented Jun 23, 2016

@prajwal-aithal the CI machine change has been merged. It should take anywhere between 5 to 25 min to take effect.

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM Emulator Cross Debug Build

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator Debug build

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator Release build

@prajwal-aithal
Copy link
Author

prajwal-aithal commented Jun 23, 2016

@jashook The builds succeeded but the final step of archiving the results is failing due to incorrect path. I have initiated PR #5941 to resolve this error.

@jashook
Copy link

jashook commented Jun 23, 2016

@dotnet-bot test Linux ARM emulator Release build

@jashook
Copy link

jashook commented Jun 23, 2016

@dotnet-bot test Linux ARM emulator Debug build

@prajwal-aithal
Copy link
Author

@jashook The CI system has not yet been updated with the changes of PR #5941. I think we will have to wait for some time and try the emulator builds again.

@prajwal-aithal
Copy link
Author

@jashook There is typo in the result archive path (/bin/Product/** against the correct path bin/Product/**)

I have initiated PR #5942 to resolve the same. I am very sorry for this duplication of effort. Could you please review that PR and merge it. I will trigger the final (hopefully) tests around 20 minutes after that PR is merged.

* Previously the Linux ARM emulator build had to be triggered manually
* Making this check automatic based on the stability of emulator build

Signed-off-by: Prajwal A N <an.prajwal@samsung.com>
@prajwal-aithal
Copy link
Author

@dotnet-bot test CI please

@jashook
Copy link

jashook commented Jun 23, 2016

@dotnet-bot test Linux ARM emulator Debug build

@prajwal-aithal
Copy link
Author

@dotnet-bot test Linux ARM emulator Release build

@prajwal-aithal
Copy link
Author

@jashook Both tests have passed successfully.

Thanks a lot for your efforts in integrating the Linux ARM emulator checks into the CI systems.

@prajwal-aithal
Copy link
Author

@jashook Can we make the Linux ARM emulator build tests automatic on a per PR basis by merging this PR? (CI has been tested already)

@jashook
Copy link

jashook commented Jun 23, 2016

@prajwal-aithal lgtm. Thank you for the work. We still have an outstanding problem that the existing arm32 ubuntu cross build does not exist. I believe this is because the name of the arm build is used for both the emulator and the cross build. Either way, this can be addressed later.

@jashook jashook merged commit 63796e5 into dotnet:master Jun 23, 2016
@prajwal-aithal prajwal-aithal deleted the devel/automate-arm-ci branch June 23, 2016 07:06
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
…mate-arm-ci

ARM-CI: Make the Linux ARM emulator check automatic

Commit migrated from dotnet/coreclr@63796e5
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants