-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Always build App.Ref and the targeting packs #39568
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
Always build App.Ref and the targeting packs #39568
Conversation
- remove `$(IsTargetingPackBuilding)` entirely
7d3e480
to
0bcb79d
Compare
- subset of dotnet#39568 - set `$(IsTargetingPackBuilding)` to `true` unconditionally - leave all _use_ of `$(IsTargetingPackBuilding)`
/backport to release/6.0 |
Started backporting to release/6.0: https://github.com/dotnet/aspnetcore/actions/runs/1715068469 |
@dougbu backporting to release/6.0 failed, the patch most likely resulted in conflicts: $ git am --3way --ignore-whitespace --keep-non-patch changes.patch
Applying: Always build App.Ref and the targeting packs - remove `$(IsTargetingPackBuilding)` entirely
Using index info to reconstruct a base tree...
M Directory.Build.props
M Directory.Build.targets
M eng/Versions.props
M eng/targets/ResolveReferences.targets
M src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
M src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
M src/Framework/test/TargetingPackTests.cs
M src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj
M src/Installers/Rpm/Directory.Build.targets
M src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj
M src/SiteExtensions/LoggingBranch/LB.csproj
Falling back to patching base and 3-way merge...
Auto-merging src/SiteExtensions/LoggingBranch/LB.csproj
CONFLICT (content): Merge conflict in src/SiteExtensions/LoggingBranch/LB.csproj
Auto-merging src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj
Auto-merging src/Installers/Rpm/Directory.Build.targets
Auto-merging src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj
Auto-merging src/Framework/test/TargetingPackTests.cs
CONFLICT (content): Merge conflict in src/Framework/test/TargetingPackTests.cs
Auto-merging src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
CONFLICT (content): Merge conflict in src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
Auto-merging src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
Auto-merging eng/targets/ResolveReferences.targets
Auto-merging eng/Versions.props
CONFLICT (content): Merge conflict in eng/Versions.props
Auto-merging Directory.Build.targets
Auto-merging Directory.Build.props
CONFLICT (content): Merge conflict in Directory.Build.props
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Always build App.Ref and the targeting packs - remove `$(IsTargetingPackBuilding)` entirely
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128 Please backport manually! |
How do we verify API surface isn't changed between the current ref pack (e.g. X.Y.3) and the original ref pack (X.Y.0). @ericstj mentioned we should do an APICompat safeguard (dotnet/windowsdesktop#2362 (comment)). |
APICompat is one way. Other options include exercising extreme diligence when reviewing servicing code changes (not the surest choice) and using Microsoft.CodeAnalysis.PublicApiAnalyzers in your builds (what we do in aspnetcore). |
If all fails, yes. Hahah :)
We use these too in Windows Forms, but I don't think these are used in WPF. |
APICompat is pretty easy to setup. Here's a sample of manual run. https://github.com/dotnet/runtime/blob/6de5c5ba25886270bddfbd827b6cf0b7f8a178a2/src/libraries/shims/ApiCompat.proj#L103 Basically you want to set up the latest build as the "contract" and the GA build as that "implementation". That ensures that anyone who compiles against surface area in the latest will have their references satisified by the GA build. You can use a |
Hi @ericstj. It looks like you just commented on a closed PR. The team will most probably miss it. If you'd like to bring something important up to their attention, consider filing a new issue and add enough details to build context. |
- remove `$(IsTargetingPackBuilding)` entirely
- remove `$(IsTargetingPackBuilding)` entirely - 6.0.x version of dotnet#39568
- remove `$(IsTargetingPackBuilding)` entirely - 6.0.x version of dotnet#39568
$(IsTargetingPackBuilding)
entirely