-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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 mono interpreter test leg to CI #35568
Changes from all commits
083f8ac
1dc05b2
62be61a
4e7e20d
c192f7d
0a43f59
373a294
64d9da9
fa00155
b5d9940
194b051
56f45f3
3622d83
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 |
---|---|---|
|
@@ -826,6 +826,37 @@ jobs: | |
jobParameters: | ||
isOfficialBuild: false | ||
isFullMatrix: ${{ variables.isFullMatrix }} | ||
runtimeDisplayName: mono | ||
testScope: innerloop | ||
liveRuntimeBuildConfig: release | ||
dependsOnTestBuildConfiguration: ${{ variables.debugOnPrReleaseOnRolling }} | ||
dependsOnTestArchitecture: x64 | ||
condition: >- | ||
or( | ||
eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true), | ||
eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true), | ||
eq(variables['isFullMatrix'], true)) | ||
|
||
# | ||
# Libraries Release Test Execution against a release mono interpreter runtime. | ||
# Only when libraries or mono changed | ||
# | ||
- template: /eng/pipelines/common/platform-matrix.yml | ||
parameters: | ||
jobTemplate: /eng/pipelines/libraries/run-test-job.yml | ||
runtimeFlavor: mono | ||
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} | ||
platforms: | ||
# - Windows_NT_x64 | ||
#- OSX_x64 | ||
#- Linux_arm64 | ||
- Linux_x64 | ||
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 makes me wonder if we should add a new platform-matrix and consume more resources by adding more legs. Should we instead introduce a new multi-helix-job project that calls into Just throwing some ideas here, that will also simplify the build whenever we move mono to build and run tests as part of the same build leg, so that way we wouldn't need to build the tests twice, etc. 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. I think there are efficiencies to be had for sure. It would be nice if we could run multiple jobs like you describe and still maintain a 'separate leg' view in the UI. I feel it's important to have the interpreter be first class / distinct in that regard. We definitely should discuss / throw out more ideas. 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.
I don't think that would be possible, but I think I wouldn't mind having one leg for the mono tests and then having multiple test modes in that single run leg. our infra should be resilient to display the test results correctly for that. Runtime tests do that, they send regular runs and non tiered compilation runs I believe. 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. Discussed offline and @steveisok is going to open a issue tracking this and we can do it in a follow up PR. 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. What is the tracking issue? We should add it to the change here for tracking. 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. |
||
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml | ||
steveisok marked this conversation as resolved.
Show resolved
Hide resolved
|
||
jobParameters: | ||
isOfficialBuild: false | ||
isFullMatrix: ${{ variables.isFullMatrix }} | ||
interpreter: true | ||
runtimeDisplayName: mono_interpreter | ||
testScope: innerloop | ||
liveRuntimeBuildConfig: release | ||
dependsOnTestBuildConfiguration: ${{ variables.debugOnPrReleaseOnRolling }} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
// See the LICENSE file in the project root for more information. | ||
|
||
using System; | ||
using Xunit; | ||
|
||
[assembly: ActiveIssue("https://github.com/dotnet/runtime/issues/35917", typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoInterpreter))] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
// Licensed to the .NET Foundation under one or more agreements. | ||
// The .NET Foundation licenses this file to you under the MIT license. | ||
// See the LICENSE file in the project root for more information. | ||
|
||
using System; | ||
using Xunit; | ||
|
||
[assembly: ActiveIssue("https://github.com/dotnet/runtime/issues/35916", typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoInterpreter))] |
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.
As we discussed offline, maybe it makes sense to use the already known
runtimeMode
as a switch instead of adding a boolean flag: https://github.com/dotnet/runtime/blob/master/eng/pipelines/runtime.yml#L746