-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Use the "live" NuGet.config file from sdk in VMR #46215
Conversation
The checked-in NuGet.config file under src/sdk is missing the live feeds which are necessary when restoring packages in scenario-tests.
@sbomer are you the right person to ask for help here regarding the |
Looks like the failure only affects the source-build test execution. @MichaelSimons / @mthalman can you please also take a look? |
I'll take a look. I need to get a local repro. My initial guess is that it's a portable RID-related thing that is messing up expectations. |
Here's what I know so far: The But taking a step back, I question whether this change is the correct thing to do in the context of source build. The intention of the scenario tests is to validate what the behavior would be for customers using the SDK. For a source built SDK used by customers, any NuGet packages that get pulled will be getting the Microsoft-built versions of those packages. So that's how we should be testing it. |
@mthalman is the failing project trying to AOT a tool for the portable RID during a non-portable source-build? It sounds like you're trying to use the "host-targeting" ILCompiler package to NativeAOT something for the portable RID (for which we don't have a runtime available as we've only built the required libraries for the SB rid). |
Here's the original PR that adds the test: dotnet/scenario-tests#113. It's just creating a basic web project and attempting to publish it as an AOT app with the RID set to the non-portable RID that produced the source built SDK that's being used. Also including @tmds who created that test. If you want to examine the binlog of the publish, you can get that here: publish--aot.zip |
The test is checking the bundled source-built ILCompiler by AOT publishing against the non-portable RID. |
Except that ILCompiler is producing a portable package: |
It seems the runtime identifier doesn't get passed to |
We are producing a portable package because we need a package that can run on the host machine with the same RID as the host SDK's RID. This was part of unblocking usage of NativeAOT on a live build within the VMR. This package only contains the ilc binary and will not be shipped (it's marked as "Vertical" visibility). Maybe we need to update how scenario-tests pulls down assets to exclude Vertical-visibility assets if it's supposed to be validating the assets we're shipping? |
I opened dotnet/source-build#4841 to track a resolution for this issue when building source-only. Meanwhile I conditioned the change to only apply to the non-source-only build to get other deliverables unblocked. |
The checked-in NuGet.config file under src/sdk is missing the live feeds which are necessary when restoring packages in scenario-tests.