-
Notifications
You must be signed in to change notification settings - Fork 4.9k
[Arm64/Linux] Enable CI & Official builds #27656
Conversation
@@ -74,6 +74,20 @@ | |||
"Platform": "arm", | |||
"Type": "build/product/" | |||
} | |||
}, |
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.
This file is for official builds, not for the CI. The CI is defined in the .groovy files in the same folder.
We cannot enable official builds of corefx until official build of coreclr produces nuget packages and uploads them to myget.
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.
Understood. Creating PR keeps it in my queue..
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.
@janvorli Were you suggesting I split this PR? Can corefx CI be enabled before coreclr official builds?
cross/arm64_ci_script.sh
Outdated
__currentWorkingDirectory=`pwd` | ||
|
||
# choose Docker image | ||
__dockerImage=" hseok82/dotnet-buildtools-prereqs:ubuntu-16.04-crossx86-ef0ac75-20175511035548" |
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.
I don't think we should be using hseok82
, instead we should be using official dotnet-builtools images.
/cc @MichaelSimons
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.
The Dockerfile for the image can be checked into https://github.com/dotnet/dotnet-buildtools-prereqs-docker. Once this is done, it will get build and pushed to microsoft/dotnet-buildtools-prereqs
cross/arm64_ci_script.sh
Outdated
# choose Docker image | ||
__dockerImage=" hseok82/dotnet-buildtools-prereqs:ubuntu-16.04-crossx86-ef0ac75-20175511035548" | ||
__dockerEnvironmentVariables="-e ROOTFS_DIR=/crossrootfs/arm64" | ||
__runtimeOS="ubuntu.16.04" |
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.
Is this used?
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.
No
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.
Done
cross/arm64_ci_script.sh
Outdated
--buildConfig=*) | ||
__buildConfig="$(echo ${arg#*=} | awk '{print tolower($0)}')" | ||
if [[ "$__buildConfig" != "debug" && "$__buildConfig" != "release" ]]; then | ||
exit_with_error "--buildConfig can be only Debug or Release" true |
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.
What's the true
for at the end?
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.
Copied code from x86 script had the same extra argument
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.
Can it be removed?
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.
Done
esac | ||
done | ||
|
||
set -x |
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.
Are these set -x
only for debugging? Or do we want them in the final code?
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.
I kept it the same as x86
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.
Sounds good.
30fd822
to
298434b
Compare
@@ -345,6 +345,61 @@ def targetGroupOsMapInnerloop = ['netcoreapp': ['Windows_NT', 'Ubuntu14.04', 'Ub | |||
} // targetGroup | |||
} // isPR | |||
|
|||
// ************************** | |||
// Define Linux ARM64 cross builds. These jobs run on every merge. |
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.
Instead of duplicating this whole section, would it make more sense to refactor it into the above section: "Define Linux ARM builds."?
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.
This was drafted from the simpler x86 section below. The arm version has more complications with its multiple flavors
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.
@eerhardt
There are subtle differences between x86, arm and arm64 which makes it complicated to merge these.
My groovy skills are immature at the moment. I would prefer to crawl before trying to walk.
If you disagree I can take a look tomorrow
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.
ok, that's fine with me.
298434b
to
277f188
Compare
#28112 has merged which should include arm64 offical CoreClr builds dotnet/coreclr#16981 We should be able to enable corefx official builds now. Changed title... |
test UWP CoreCLR x64 Debug Build |
@dotnet-bot help |
Welcome to the dotnet/corefx Repository The following is a list of valid commands on this PR. To invoke a command, comment the indicated phrase on the PR The following commands are valid for all PRs and repositories. Click to expand
The following jobs are launched by default for each PR against dotnet/corefx:master. Click to expand
The following optional jobs are available in PRs against dotnet/corefx:master. Click to expand
Have a nice day! |
@dotnet-bot test ci please |
Welcome to the dotnet/corefx Repository The following is a list of valid commands on this PR. To invoke a command, comment the indicated phrase on the PR The following commands are valid for all PRs and repositories. Click to expand
The following jobs are launched by default for each PR against dotnet/corefx:master. Click to expand
The following optional jobs are available in PRs against dotnet/corefx:master. Click to expand
Have a nice day! |
I don't see any evidence the last trigger did anything. Trying again @dotnet-bot test ci please |
I see no evidence that either previous ci trigger did anything. Maybe I do not have permission to trigger? Is there a way we can try the new CI triggers this will introduce before merging? |
test OSX x64 Debug Build |
@dotnet/dnceng - anyone know why @dotnet-bot test ci please isn't working? |
hmm, now it works... |
@eerhardt Looks like a transient issue. Ping us again if it doesn't seem to be working. |
CI build logs look OK to me, but I have never really looked at them I don't think the x64 failures could possibly be related, but re-triggering |
@weshaggard Do you need to review this? |
Looks like all the OSX builds are failing right now so the error above can be ignored. @eerhardt Looks like you are assigned to review this. Can this be approved/merged? |
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.
LGTM, thank you!
@DrewScoggins the OSX CI is failing due to an issue in the dumpling.py, can you please take a look?
See the https://ci3.dot.net/job/dotnet_corefx/job/master/job/osx-TGroup_netcoreapp+CGroup_Debug+AGroup_x64+TestOuter_false_prtest/9995/ for the full log. |
@DrewScoggins I have just found that our official builds are failing with the same issue on Linux and Alpine x64 too. |
Sorry I was out of the office and just saw this. I should have all of the dumpling stuff wrapped up this week so we should be able to turn all of this back on. |
Commit migrated from dotnet/corefx@422dd24
@jashook @janvorli
Needs coreclr linux-arm64 in nuget
PTAL let me know if there is anything else which I might have missed.