-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Native AOT smoke test #82
Changes from 32 commits
5bcbc4b
4ead94c
9c1d255
0276669
50cb002
8b6fd62
ead11fc
c9f9109
6cec9ba
64775ee
a93001e
6eaef11
71338af
4b7a62d
44b8b4d
b640780
a236229
806b379
34ec632
2d2c084
d0c3ca8
f79f81c
0e28c08
ae0cd8d
7b27d04
da4fc0b
4740d5f
aa7c9a1
8fbc531
582faad
4ce9680
790737a
7c9238e
27578b7
4de5b88
33c4c6e
77a2599
e7646b4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -65,7 +65,7 @@ jobs: | |
jobParameters: | ||
timeoutInMinutes: 90 | ||
testGroup: innerloop | ||
buildArgs: -s clr+libs+installer -c debug -runtimeConfiguration Checked | ||
buildArgs: -s nativeaot+libs+installer -lc release -rc checked | ||
extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml | ||
|
||
# | ||
|
@@ -81,7 +81,7 @@ jobs: | |
jobParameters: | ||
timeoutInMinutes: 90 | ||
testGroup: innerloop | ||
buildArgs: -s clr+libs+libs.tests+installer -c $(_BuildConfig) /p:ArchiveTests=true | ||
buildArgs: -s nativeaot+libs+installer -c $(_BuildConfig) /p:ArchiveTests=true | ||
extraStepsTemplate: /eng/pipelines/runtimelab/runtimelab-post-build-steps.yml | ||
extraStepsParameters: | ||
uploadTests: true | ||
|
@@ -100,88 +100,3 @@ jobs: | |
nameSuffix: All_Configurations | ||
buildArgs: -s clr.runtime+libs -c $(_BuildConfig) -allConfigurations | ||
|
||
# | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @joperezr The CI infrastructure in the NativeAOT branch is going to be a bit different from how CI is done in the runtime repo (we can't do AOT compilation on the Helix machines because they miss some big prerequisites, so we'll do the testing on the build machine - this should be similar how the current plan for iOS testing in the runtime repo will be). Do you think it makes sense to try to share the runtimelab.yml file, or just make a new one to avoid constant merge conflicts? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It’s ok to have another yml file if desired, but that will mean that we have to setup a whole new pipeline on AzDO for this branch so just keep thag in mind, since AzDO pipelines are tied to only one yml file. On the other hand, if you do decide to change runtimelab.yml to suit your needs, we could just ignore conflicts from that file and keep branch’s version always. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FWIW, you shouldn’t expect to get many conflicts as the idea is to have runtimelab.yml as stable as possible, which in fact was the whole reason we created that as opposed to using runtime.yml which gets changed much more frequently. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks! I didn't know that extra yaml file would be work - I'll just keep this and we'll ignore conflicts in the future integrations. |
||
# CoreCLR Test builds using live libraries release build | ||
# | ||
- template: /eng/pipelines/common/platform-matrix.yml | ||
parameters: | ||
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml | ||
buildConfig: Checked | ||
platforms: | ||
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64 | ||
jobParameters: | ||
testGroup: innerloop | ||
liveLibrariesBuildConfig: Release | ||
dependsOn: | ||
- build_Linux_x64_Checked_ | ||
- build_Linux_x64_Release_ | ||
|
||
# | ||
# CoreCLR Test executions using live libraries | ||
# | ||
- template: /eng/pipelines/common/platform-matrix.yml | ||
parameters: | ||
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml | ||
buildConfig: Checked | ||
platforms: | ||
- Linux_x64 | ||
helixQueueGroup: pr | ||
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml | ||
jobParameters: | ||
testGroup: innerloop | ||
liveLibrariesBuildConfig: Release | ||
dependsOn: | ||
- coreclr_common_test_build_p0_AnyOS_AnyCPU_Checked | ||
|
||
- template: /eng/pipelines/common/platform-matrix.yml | ||
parameters: | ||
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml | ||
buildConfig: Checked | ||
platforms: | ||
- Windows_NT_x64 | ||
helixQueueGroup: pr | ||
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml | ||
jobParameters: | ||
testGroup: innerloop | ||
liveLibrariesBuildConfig: Release | ||
dependsOn: | ||
- coreclr_common_test_build_p0_AnyOS_AnyCPU_Checked | ||
- build_Windows_NT_x64_Checked_ | ||
- build_Windows_NT_x64_Release_ | ||
|
||
# | ||
# Libraries Release Test Execution against a release coreclr runtime | ||
# | ||
- template: /eng/pipelines/common/platform-matrix.yml | ||
parameters: | ||
jobTemplate: /eng/pipelines/libraries/run-test-job.yml | ||
buildConfig: Release | ||
platforms: | ||
- Linux_x64 | ||
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml | ||
jobParameters: | ||
isFullMatrix: false | ||
isOfficialBuild: false | ||
testScope: innerloop | ||
liveRuntimeBuildConfig: Release | ||
dependsOnTestBuildConfiguration: Release | ||
dependsOnTestArchitecture: x64 | ||
dependsOn: | ||
- build_Linux_x64_Release_ | ||
|
||
- template: /eng/pipelines/common/platform-matrix.yml | ||
parameters: | ||
jobTemplate: /eng/pipelines/libraries/run-test-job.yml | ||
buildConfig: Release | ||
platforms: | ||
- Windows_NT_x64 | ||
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml | ||
jobParameters: | ||
isFullMatrix: false | ||
isOfficialBuild: false | ||
testScope: innerloop | ||
liveRuntimeBuildConfig: Release | ||
dependsOnTestBuildConfiguration: Release | ||
dependsOnTestArchitecture: x64 | ||
dependsOn: | ||
- build_Windows_NT_x64_Release_ |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,7 +52,8 @@ public override bool GenerateDirectCall(string importModule, string methodName) | |
methodName == "LoadLibraryExW" || | ||
methodName == "GetProcAddress" || | ||
methodName == "SetLastError" || | ||
methodName == "GetLastError") | ||
methodName == "GetLastError" || | ||
methodName == "LocalAlloc") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add |
||
{ | ||
return 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.
It would be nice to send PR with this change to dotnet/runtime too.
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 is only needed because we don't publish ilc as a selfcontained app. Do you think it's still valuable in dotnet/runtime?
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 thought that you have added this for your own convenience to make
dotnet.sh
work on anything. Is it the case, or is this needed to make the CI work as well?If this is for convenience, I think it would be useful in dotnet/runtime too.
If this is a temporary workaround to make CI work, it would be nice to have better comments on it that describe what it is for and what it would take to remove it.