Skip to content
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

Switch to non-incremental servicing and update ApiCompatNetCoreAppBaselineVersion to 9.0.0 #109790

Merged
merged 6 commits into from
Nov 20, 2024

Conversation

carlossanlop
Copy link
Member

Fixes #106598

@carlossanlop
Copy link
Member Author

I see ApiCompat failures @ViktorHofer

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 15, 2024

The failures will go away when we forward port #109316 into main (or into this PR).

@carlossanlop
Copy link
Member Author

The failures will go away when we forward port #109316 into main (or into this PR).

In that case, I'll reset your sign-off and will bring those changes into this PR. There was a conflict when attempting the automatic backport.

…rom release/9.0

---------
Co-authored-by: Eric StJohn <[email protected]>
@carlossanlop carlossanlop changed the title Update ApiCompatNetCoreAppBaselineVersion to 9.0.0 Switch to non-incremental servicing and update ApiCompatNetCoreAppBaselineVersion to 9.0.0 Nov 19, 2024
@carlossanlop
Copy link
Member Author

@ericstj @ViktorHofer after bringing the 9.0 changes to switch to non-incremental servicing, I hit some api-compat failures in my local machine. I am not confident on what to do about them, they seem very similar to the ones that already exist in ApiCompatBaseline.NetCoreAppLatestStable.xml, but with different left and right values. Also, running the allconfigurations command with /p:ApiCompatGenerateSuppresionFile=true is creating new files with completely unrelated suppressions for coreclr and mono, not the ones reported in the errors.

I pushed the changes so the ApiCompat failure shows up in the CI.

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 19, 2024

You are missing updating ApiCompat.proj's suppression file(s). That's a manual task:

.\dotnet.cmd build src/libraries/apicompat/ApiCompat.proj /p:ApiCompatGenerateSuppressionFile=true

They should become either empty or really small.

@carlossanlop
Copy link
Member Author

@ViktorHofer I pushed a commit with the result of running that command.

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 19, 2024

Hmm those files aren't what I was expecting to get produced by that command. https://github.com/dotnet/runtime/blob/main/src/libraries/apicompat/ApiCompatBaseline.NetCoreAppLatestStable.xml should have got updated.

Isn't that the case?

@carlossanlop
Copy link
Member Author

carlossanlop commented Nov 19, 2024

Hmm those files aren't what I was expecting to get produced by that command. https://github.com/dotnet/runtime/blob/main/src/libraries/apicompat/ApiCompatBaseline.NetCoreAppLatestStable.xml should have get updated.

Isn't that the case?

That's exactly what I meant in my previous comment. There were no updates to ApiCompatBaseline.NetCoreAppLatestStable.xml, which is what I was expecting:

they seem very similar to the ones that already exist in ApiCompatBaseline.NetCoreAppLatestStable.xml, but with different left and right values.

running the allconfigurations command with /p:ApiCompatGenerateSuppresionFile=true is creating new files with completely unrelated suppressions for coreclr and mono

The command you provided updated fewer files actually. The allconfigurations command updated mono files too.

@ViktorHofer
Copy link
Member

Very weird. Something is wrong. Let me debug offline.

@ViktorHofer
Copy link
Member

I only get the netstandard2.0 and the netstandard2.1 suppression files printed onto the console but not the ApiCompatBaseline.NetCoreAppLatestStable.xml one. That's weird indeed.

C:\git\runtime4> dotnet.cmd build src\libraries\apicompat\ApiCompat.proj --no-restore --no-dependencies /p:ApiCompatGenerateSuppressionFile=true /bl

  ApiCompat -> Comparing net10.0 reference assemblies against .NETStandard 2.x and .NETCoreApp 9.0.0...
  Successfully wrote compatibility suppressions to 'C:\git\runtime4\src\libraries\apicompat\ApiCompatBaseline.netstanda
  rd2.1.xml'.
  Successfully wrote compatibility suppressions to 'C:\git\runtime4\src\libraries\apicompat\ApiCompatBaseline.netstanda
  rd2.0.xml'.

@ViktorHofer
Copy link
Member

The net9.0 <-> net10.0 step runs successfully but doesn't re-generate the suppression file:

image

But the other two subsequent steps (netstandard2.0 and netstandard2.1) do re-generate the suppression file correctly:

image

No idea why. I would need to debug with APICompat.

@ViktorHofer
Copy link
Member

ViktorHofer commented Nov 19, 2024

OK that's an APICompat bug. Submitted dotnet/sdk#44965

But it's not blocking this PR in any way. I just pushed a commit that updates the suppression file.

@ViktorHofer ViktorHofer merged commit 5c218ab into dotnet:main Nov 20, 2024
148 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update PackageValidation (APICompat) baseline version to 9.0.0 in November (.NET 9 GA)
2 participants