-
Notifications
You must be signed in to change notification settings - Fork 1k
[Arm64] Enable arm64 cli builds #8896
Conversation
README.md
Outdated
| [linux-arm-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=8721 | ||
|
|
||
| [linux-arm64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8896/badge | ||
| [linux-arm64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=8896 |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
cc @janvorli |
|
With a cherry-pick of #8881 to pickup arm64 runtime End of build looked like. |
|
This is drafted from the arm changes earlier this month. Looks like this enable CI builds, but I am not certain whether it enables official builds to myget |
|
@johnbeisner to take a look. We will also need to setup up arm64 VSO build for builds. As for arm32, this is an unofficial build, as there are not tests running here. @Petermarcu this is along the same lines for the runtime as well? |
arm64 is not quite stable enough to be an official release yet. CoreCLR tests are passing, but there are several CoreFX tests failing. core-setup and cli tests have not yet been run. Initial experience with trying the bootstrapped version of the cli has been unsatisfactory. We will make more progress as we approach ZBB and post ZBB. I suspect arm64 will not be passing all its tests in time for the initial; official 2.1 release. I would hope we would be allowed to continue to work on arm64 issues and include in one of the servicing 2.1 releases. @dotnet/arm64-contrib |
run-build.sh
Outdated
| INSTALL_ARCHITECTURE=$ARCHITECTURE | ||
| archlower="$(echo $ARCHITECTURE | awk '{print tolower($0)}')" | ||
| if [[ $archlower == 'arm'* ]]; then | ||
| if [[ $archlower == 'arm'* ]] || [[ $archlower == 'arm64'* ]]; then |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
@livarcocc for the runtime we're executing tests but if you need to do the same as you did for arm32 for now, that will be a fine place to start. |
57936c4 to
d6aea13
Compare
|
@Petermarcu I didn't think I enabled tests for arm64 in core-setup or corefx CI. If they are running in either that would be good news. |
|
You are right, I don't see them running. I would expect that will come online shortly though, right? |
|
@Petermarcu I didn't try to enable the arm64 tests because I am not aware of the CI arm64 capacity or infrastructure. I think this is something it would be difficult for me to do without significant MS help. @jashook has historically been the person to do something like this in the CoreCLR world. There are a few linux-arm64 machines used in CoreCLR CI. Capacity is limited so they are not run on most PR's. It would seem ideal to run the tests periodically or at least for daily builds. The second factor to consider is the passing rate. CoreFX tests are not all passing. We just got these running on linux-arm64 in the last week or so. Of the 230 tests, 206 are passing, 12 have a small set of test cases failing, 8 asserts, 2 segmentation faults, and 2 timeouts (presumably hangs). If we run tests, we need to publish the failures, but not break the build. Many of the failures are due to a missing JumpStub memory management feature which was enabled for amd64 12/2017, but not for arm64. I am working on this today. https://github.com/dotnet/coreclr/issues/17173 I have not attempted to run the core-setup or cli tests yet. Although I plan to in the next few weeks. |
|
@dotnet-bot Test CentOS7.1 x64 Debug Build |
|
@dotnet-bot test ci please |
|
Leg is kicked off: https://ci.dot.net/job/dotnet_cli/job/master/job/GenPRTest/job/debug_linux_arm64_prtest/ Again, waiting for a machine to run on. It is job |
|
The Jenkins run failed due to That file not existing. We will need an official build of core-setup to run first which produces this file. EDIT: actually, the version it is looking for is the 3 weeks ago version. @sdmaclea - can you merge master into your branch? |
d6aea13 to
ed35c63
Compare
|
Rebased to pickup master tip |
|
test Linux arm64 Debug Build |
|
The linux arm64 leg already passed. @livarcocc @sdmaclea @Petermarcu - What do you think about enabling crossgen for linux-arm64? It should be pretty simple (says the person who doesn't have to do it) Modify this line: Line 221 in 2a63f9e
And then adjust the CrossgenPath as necessary to get the right crossgen Line 4 in 661f004
|
I took a look at doing this, but the x64_arm64/crossgen is not currently published by the arm64 runtime, and it must be obtained by getting it from the coreclr package I looked at adding a package reference, but I'll open an issue. #8998 |
|
I think this can be reviewed, approved, and merged. |
We should be re-packaging UPDATE: that chunk is only grabbing the files directly in the |
|
Can this be merged? |
Adds arm64 builds
Depends on #8901 merging
@Petermarcu @johnbeisner @peterhuene @livarcocc