Skip to content

[ci-fix] Needs review: Add RequiresProcessIsolation to ByRefLike/Validate.csproj for minifullaot (refs #128767)#129314

Draft
github-actions[bot] wants to merge 2 commits into
mainfrom
ci-fix/128767-byreflike-minifullaot-a3009ee45c718eb1
Draft

[ci-fix] Needs review: Add RequiresProcessIsolation to ByRefLike/Validate.csproj for minifullaot (refs #128767)#129314
github-actions[bot] wants to merge 2 commits into
mainfrom
ci-fix/128767-byreflike-minifullaot-a3009ee45c718eb1

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Workflow artifact: ci-fix
Artifact kind: help
Linked KBE: #128767

Note

This is an AI/Copilot-generated best-effort fix attempt that I could not fully validate. It is a starting point for a maintainer, not a finished change. Please review the analysis below before merging.

Root cause (best analysis)

The ByRefLike/Validate.csproj test project has MonoAotIncompatible=true, which should exclude it from the minifullaot build via DisableProjectBuild. However, without RequiresProcessIsolation=true, the merged test runner assembly includes Validate.cs and GenericTypeSubstitution.cs as source files. The merged runner does NOT include the InvalidCSharp.ilproj ProjectReference (which IS properly excluded by DisableProjectBuild), resulting in:

error CS0246: The type or namespace name 'InvalidCSharp' could not be found

This error occurs in "Building managed test group 3" of the minifullaot build.

Attempted fix

Added <RequiresProcessIsolation>true</RequiresProcessIsolation> to Validate.csproj. This ensures the project is built as a standalone test (not merged into a group runner), so DisableProjectBuild properly excludes it from the minifullaot build.

This matches the exact pattern of the sibling ValidateNegative.csproj which already has:

<MonoAotIncompatible>true</MonoAotIncompatible>
<!-- Needed for MonoAotIncompatible, NativeAotIncompatible, CrossGenTest -->
<RequiresProcessIsolation>true</RequiresProcessIsolation>

What is unverified / where I need help

  • Could not build-validate because the environment lacks the .NET 11 preview SDK required by this repo
  • The fix is a 2-line .csproj property addition matching an existing sibling pattern — a quick local src/tests/build.sh -mono /p:RuntimeVariant=minifullaot on the Loader/classloader subtree would confirm

Validation

  • Command: src/tests/build.sh ci os linux x64 Release -mono /p:RuntimeVariant=minifullaot (builds test group 3 which includes this project)
  • Result: not run because .NET 11 preview SDK unavailable in agent environment

Evidence

Help wanted

  • Area owners (area-VM-meta-mono): @steveisok, @dotnet/runtime-infrastructure

Filed by ci-failure-fix. Comment here or on the workflow file to suggest changes; ci-failure-scan-feedback reads in-scope feedback daily and opens (or updates) a PR with prompt edits.

Note

🔒 Integrity filter blocked 1 item

The following item was blocked because it doesn't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by CI Outer-Loop Failure Fixer · ● 41.2M ·

…laot

The test was failing in the minifullaot build because the merged test
runner included Validate.cs but not the InvalidCSharp.ilproj reference
(which is correctly excluded via DisableProjectBuild). Adding
RequiresProcessIsolation ensures the project is built standalone, so
DisableProjectBuild properly excludes it from the minifullaot build.

This matches the pattern of the sibling ValidateNegative.csproj which
already has RequiresProcessIsolation for the same reason.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant