-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Add interpreter pipeline #116844
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 interpreter pipeline #116844
Conversation
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
42abcf8
to
af49e63
Compare
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.
Pull Request Overview
This PR adds support for running pri1 tests using the interpreter by introducing a dedicated pipeline and wiring a RunInterpreter
flag through Helix publishing.
- Extended
helixpublishwitharcade.proj
to define and consume a_RunInterpreter
MSBuild property and emit Helix pre-commands. - Created
eng/pipelines/coreclr/interpreter.yml
to build CoreCLR in debug/release/checked configurations and invoke tests withrunInterpreter: true
. - Updated common templates (
send-to-helix-step.yml
,run-test-job.yml
) to accept and forward therunInterpreter
parameter.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
File | Description |
---|---|
src/tests/Common/helixpublishwitharcade.proj | Added _RunInterpreter property and corresponding Windows/Linux Helix pre-commands. |
eng/pipelines/coreclr/interpreter.yml | New pipeline file for interpreter-based builds and test runs. |
eng/pipelines/common/templates/runtimes/send-to-helix-step.yml | Added runInterpreter parameter and mapped it to _RunInterpreter . |
eng/pipelines/common/templates/runtimes/run-test-job.yml | Introduced runInterpreter parameter with default false and propagated it. |
Comments suppressed due to low confidence (1)
eng/pipelines/coreclr/interpreter.yml:16
- [nitpick] The pipeline duplicates the platform matrix definitions across multiple build and test jobs. Consider extracting the platform lists into a shared variable or template to reduce duplication and make future updates easier.
- template: /eng/pipelines/common/platform-matrix.yml
/azp run runtime-interpreter-tests-ci |
Azure Pipelines successfully started running 1 pipeline(s). |
Can we rename this to |
/azp list |
I still don't see arm64 linux / osx in the result of that run. |
/azp run runtime-interpreter |
Azure Pipelines successfully started running 1 pipeline(s). |
b0c378f
to
38fac6e
Compare
Submitted revert #117234 |
yeah this was always meant to be manually triggered initially. Eduardo please check why it's affecting PRs. |
The manual trigger setting needs to be set up by Eng Services First Responder. We can't do it ourselves. |
Adding a pipeline that runs pri1 tests using the interpreter.
After taking a look with @janvorli, updated src/tests/Common/CLRTest.Execute.Bash.targets since there were two BashCLRTestLaunchCmds blocks under the condition
'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' != 'browser' And '$(TargetOS)' != 'android'
, one for arm64 and one for everything but arm64. However, turns out it's no longer necessary to split in two separate blocks anymore, the logic should be the same one for both. In particular, the ability to use the interpreter and the support for lldb was present in only one of them whereas it should be present in both.