-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Add interpreter pipeline #117254
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 #117254
Conversation
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
The PR adds support for running pri1 tests under the interpreter and updates pipeline definitions to enable this mode while disabling automatic triggers. It also consolidates duplicated Bash launch command blocks into a single block.
- Introduce
_RunInterpreter
flag and propagate it to Helix pre-commands in project files - Merge ARM64-specific Bash test launcher block into the main block (but missing custom logic)
- Define a new interpreter-only pipeline with
pr: none
andtrigger: none
- Extend common templates (
send-to-helix-step.yml
,run-test-job.yml
) withrunInterpreter
parameter
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
src/tests/Common/helixpublishwitharcade.proj | Added _RunInterpreter property and HelixPreCommand entries for it |
src/tests/Common/CLRTest.Execute.Bash.targets | Consolidated two <BashCLRTestLaunchCmds> blocks into one |
eng/pipelines/coreclr/interpreter.yml | Created a disabled-trigger interpreter pipeline |
eng/pipelines/common/templates/runtimes/send-to-helix-step.yml | Added runInterpreter parameter mapping |
eng/pipelines/common/templates/runtimes/run-test-job.yml | Added runInterpreter parameter to test-job template |
Comments suppressed due to low confidence (1)
src/tests/Common/CLRTest.Execute.Bash.targets:374
- The custom launcher logic for setting
LAUNCHER
, handlingCLRCustomTestLauncher
, and support for the interpreter and LLDB was removed when merging the ARM64 block; it needs to be reintroduced into this consolidated block.
<BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' != 'browser' And '$(TargetOS)' != 'android'">
Tagging subscribers to this area: @BrzVlad, @janvorli, @kg |
/azp run runtime-interpreter |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
d964a65
to
eecbae1
Compare
/azp run runtime-interpreter |
Azure Pipelines successfully started running 1 pipeline(s). |
assume this is the same change then with no other changes? The config change had to be done manually? |
Yes, it's the same change but the pipeline had to be manually configured in Azure DevOps. This is one of the few settings that can't be configured inside the YAML itself |
Original PR: #116844. The reason why is started to trigger automatically on PRs is that on Azure DevOps, the switch "Require a team member's comment before building a pull request" was not enabled. It's enabled now and verified that it doesn't get triggered automatically but can be triggered through the azure-pipelines bot.
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.