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

Document MakeApiBaselines script #4526

Merged
merged 1 commit into from
Oct 11, 2023
Merged

Conversation

sebastienros
Copy link
Member

@sebastienros sebastienros commented Oct 6, 2023

null

Microsoft Reviewers: Open in CodeFlow

@@ -4,6 +4,12 @@
Creates API baseline files representing the current API surface exposed by this repo.
#>

if ($PSVersionTable.PSVersion.Major -lt 6) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Required for the -LeafBase argument. Even though I had a recent windows install, my PS version was 5.x

@joperezr joperezr merged commit 4d308e5 into release/8.0 Oct 11, 2023
6 checks passed
@joperezr joperezr deleted the sebros/makeapibaselines branch October 11, 2023 21:29
@geeknoid
Copy link
Member

@joperezr Why was this merged? I have a comment in there saying that this content is incorrect.

@sebastienros
Copy link
Member Author

@geeknoid I don't see any comment, maybe you forgot to hit the "submit review" in GH?

@joperezr
Copy link
Member

I don't see any comment.. 🤔

@@ -148,7 +148,8 @@ This sets up necessary environmental variables and opens the repository in VS Co
* Windows Forms uses Visual Studio MSBuild but for certain features we require the latest MSBuild from .NET Core/.NET SDK. If you are on an official version of [Visual Studio][VS-download] (i.e. not a Preview version), then you may need to enable previews for .NET Core/.NET SDKs in VS.
* you can do this in VS under Tools->Options->Environment->Preview Features->Use previews of the .Net Core SDK (Requires restart)
* When restoring packages, if you get the following message: "The SSL connection could not be established, see inner exception. Unable to read data from the transport connection", try disabling IPv6 on your network adapter.

* When the public API surface is updated, you need to update the API baselines manifest files for the impacted assemblies. [Here is an example](https://github.com/dotnet/extensions/blob/3e6ac0735cb62d4c8b63e131d956397a87ea26f7/src/Libraries/Microsoft.Extensions.AsyncState/Microsoft.Extensions.AsyncState.json) for the `Microsoft.Extensions.AsyncState` project. To update the manifest of all the local assemblies, invoke the script `./scripts/MakeApiBaselines.ps1`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not actually how this will be intended to work.

Right now, because the initial API is not released yet, we just use the script to refresh all the .json files in bulk. Once November passes and we now have a compatibility burden, then developers should not be running this script ever. Developers should add their APIs to the code, and that's it. Once a month, the release pipeline will then run the scripts to refresh the API definitions as a compatibility baselne.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you suggest I remove the comment completely or wait for November to do it? I believe we get warnings currently if we don't run the script.

@geeknoid
Copy link
Member

HMmm, my comment was marked as Pending for some reason. I pushed it now...

@ghost ghost locked as resolved and limited conversation to collaborators Nov 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants