-
Notifications
You must be signed in to change notification settings - Fork 5.1k
[release/8.0-staging] Remove reference / redistribution of externally provided packages in MSBuild tasks #113404
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
[release/8.0-staging] Remove reference / redistribution of externally provided packages in MSBuild tasks #113404
Conversation
Backporting a subset of df76a01 to 8.0
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.
Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.
Seems like those WasmBuild failures might be related. Need to see what they look like. |
@ilonatommy @lewing could you have a look at the wasm failures to tell me if they look like they are caused by this? I did modify some build tasks. Those test are doing builds, but I looked at logs and don't see any obvious assembly load failures which is what my change might cause. |
these pinvoke failures with
but these happen only on this PR.
like in #92380. I don't see a direct connection. |
These tests are still failing on rerun so it does look like this change somehow caused it. I'm pulling down the tests locally to try a repro and see what's happening. It looks almost like it's not resolving the types correctly so it keeps them in |
So it seems to be caused by removing To further test this, once adding back the local copy of This is bad because the 7.0.0 version is no longer built nor supported. |
@maraf @akoeplinger @lewing -- seems that you might have helped fix this previously in #97640 -- it may be related to S.R.MLC 8.0 supporting function pointers. What should we backport to make these tests work correctly on the 8.0 S.R.MLC that's in the product (and allow us to remove the 7.0 version which is out of support). |
The problem is that the code expects that path to throw and so it sees unexpected things when it doesn't. The code in 8 would take more extensive fixes to work properly in all the cases it will see now. I need to think about the best way to fix this. |
It looks like Build Analysis is green now, do we take it? With the current content does it constitute a product change we need to take to tactics, or still infrastructure tell mode? @lewing |
In theory the WasmAppBuilder changes should behave the same as before but it feels no longer like an infra change to me. |
@akoeplinger / @lewing - can you please have a look at the servicing template added and make it correctly represent the changes / risk / testing to WasmAppBuilder? After that we can take it to tactics. |
Ping @akoeplinger @lewing. The servicing branches are about to open. Friendly reminder that code complete is on April 14th for the May Release. If you'd like to get this change included in that release, please get a Tactics approval and merge this PR before that date. |
ah sorry, I replied to Eric on Teams. It looks good to me. |
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.
LGTM for ILLink.Tasks
Customer Impact
MSBuild tasks building in dotnet/runtime were referencing MSBuild packages and other nuget packages provided by MSBuild.
Some of these packages were out-of-date which triggered false-positive component-governance warnings. None of the tasks should ship these packages.
Some of the packages were from a different release band and were shipping in the product - resulting in us shipping unserviceable out-of-support binaries.
Reference all MSBuild provided packages as reference only and do not ship them.
Regression
No.
Testing
Build / unit testing. Binary / build artifact inspection. Applying private fix to VS 17.10 and testing publish of blazor app.
Risk
Low - changes here shouldn't cause much impact to shipping binaries - an exception was the
WasmAppBuilder
which was previously using 7.0 reflection libraries. It required changes to be compatible with the 8.0 libraries. We also had VS fix bindingRedirects for this library to match what's in MSBuild and ensure it can safely load tasks with the same libraries.