Merged
Conversation
Add MonoAotIncompatible to superpmicollect.csproj since superpmi tests are CoreCLR-specific. Fix build.proj GetListOfTestCmds to exclude scripts under OutOfProcessTest directories from the merged runner validation, as they are components of the out-of-process test rather than standalone tests. Co-authored-by: matouskozak <[email protected]>
Copilot
AI
changed the title
[WIP] Fix build error for superpmi sub-test scripts
Disable superpmi tests on Mono and fix OutOfProcessTest sub-script validation
Feb 28, 2026
matouskozak
reviewed
Mar 2, 2026
…llect.csproj Co-authored-by: matouskozak <[email protected]>
Copilot
AI
changed the title
Disable superpmi tests on Mono and fix OutOfProcessTest sub-script validation
Disable superpmi tests on Mono
Mar 2, 2026
Member
|
/azp run runtime-llvm |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
Member
|
@copilot also remove the superpmi from the AOT job parameter list |
Co-authored-by: matouskozak <[email protected]>
Contributor
Author
matouskozak
approved these changes
Mar 2, 2026
Contributor
|
Tagging subscribers to this area: @akoeplinger, @matouskozak, @simonrozsival |
Contributor
There was a problem hiding this comment.
Pull request overview
Disables the SuperPMI test tree for Mono LLVM AOT pipelines to avoid Mono AOT validation failures caused by SuperPMI’s generated sub-test scripts lacking merged runners.
Changes:
- Marked
superpmicollectasMonoAotIncompatibleto emit a.NoMonoAotmarker for Mono AOT exclusion. - Removed
-tree:JIT/superpmifrom the Mono LLVMFULLAOT runtime test build arguments so those tests are no longer built/run in that pipeline.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/tests/JIT/superpmi/superpmicollect.csproj | Adds MonoAotIncompatible marker to exclude this assembly from Mono AOT compilation inputs. |
| eng/pipelines/runtime-llvm.yml | Stops building/running the JIT/superpmi test tree in the Mono LLVMFULLAOT runtime tests job. |
Comments suppressed due to low confidence (1)
src/tests/JIT/superpmi/superpmicollect.csproj:30
- Setting MonoAotIncompatible generates a .NoMonoAot marker (used to exclude assemblies from the AOT compilation list), but it does not prevent this project from being built nor prevent
_BuildSpmiTestProjectScriptsfrom emitting extra runnable.shscripts. SinceGetListOfTestCmdsvalidates that every runnable script has a merged runner or OutOfProcess marker, building this project during Mono AOT flows can still reproduce the original “No merged runner found for test script …/Bytemark.sh” failure. Consider also disabling this project’s build when$(MonoAot)/$(MonoFullAot)is enabled (or otherwise gating_BuildSpmiTestProjectScriptsin those modes) so the scripts aren’t generated in the first place.
<!-- This test is very specific to RyuJIT tooling. -->
<DisableProjectBuild Condition="'$(RuntimeFlavor)' != 'coreclr'">true</DisableProjectBuild>
<NativeAotIncompatible>true</NativeAotIncompatible>
<MonoAotIncompatible>true</MonoAotIncompatible>
</PropertyGroup>
akoeplinger
approved these changes
Mar 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Mono AOT builds fail with
No merged runner found for test script .../JIT/superpmi/superpmicollect/Bytemark/Bytemark.shbecause the superpmi test's_BuildSpmiTestProjectScriptstarget generates sub-test.shscripts that are picked up byGetListOfTestCmdsvalidation but have no merged runner or OutOfProcessTest marker. This validation only runs during Mono AOT (viaMonoAotCompileTests), so CoreCLR builds are unaffected.Two changes to disable superpmi tests for Mono:
superpmicollect.csproj: Added<MonoAotIncompatible>true</MonoAotIncompatible>— superpmi tests are CoreCLR-specific tooling, not useful for Mono platforms. This causes a.NoMonoAotmarker file to be generated, which the existingbuild.projlogic already uses to exclude assemblies from Mono AOT compilation.runtime-llvm.yml: Removed-tree:JIT/superpmifrom the LLVM AOT job'stestBuildArgsparameter list so superpmi tests are no longer built or run in Mono LLVM AOT pipelines.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.