Skip to content

Marked shipped API and set new PackageValidation version#5033

Closed
joperezr wants to merge 6 commits intomicrosoft:mainfrom
joperezr:MarkShippedAndEnablePackageValidation
Closed

Marked shipped API and set new PackageValidation version#5033
joperezr wants to merge 6 commits intomicrosoft:mainfrom
joperezr:MarkShippedAndEnablePackageValidation

Conversation

@joperezr
Copy link
Copy Markdown
Member

@joperezr joperezr commented Jul 23, 2024

Now that 8.1 has shipped, this is marking all of the relevant APIs as shipped as well as enabling package validation on new packages and setting the right baseline version.

Microsoft Reviewers: Open in CodeFlow

@ghost ghost added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Jul 23, 2024
Comment thread src/Aspire.Hosting.Elasticsearch/PublicAPI.Shipped.txt Outdated
Copy link
Copy Markdown
Member

@eerhardt eerhardt left a comment

Choose a reason for hiding this comment

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

The change looks good to go.

I do want to start a discussion on whether we do package validation on preview packages.

<Description>Add support for provisioning AWS application resources and configuring the AWS SDK for .NET.</Description>
<!-- This package hasn't shipped stable, so package validation runs against previously shipped version of it. -->
<PackageValidationBaselineVersion>8.0.1-preview.8.24267.1</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>8.1.0-preview.1.24373.2</PackageValidationBaselineVersion>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't want to block the rest of this PR, but I think we shouldn't do package validation until we actually ship stable. (Or at least, don't do public API validation in the package validation)

The reasoning is that we are free to change the public APIs until the library ships stable. Doing package validation just gets in the way and confuses people when they try to change the APIs. For example, in #4950, I needed to disable validation because I was updating to the new Azure.AI.OpenAI dependency.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Package validation doesn't only validate you haven't broken APIs against the previously shipped package, but it also does some checks within the package itself to make sure the APIs you are shipping and different TFMs you are shipping are consistent within the package. Right now this is probably not super valuable given most of our packages don't multitarget, but that will change soon. All this to say, I agree there is not a lot of benefit on running Baseline validation (the one that checks against a previously shipped package) but I wouldn't fully disable all validation.

Also, we could continue running baseline package validation, and just generate suppression files for the API changes (as opposed to disabling the validation all together). The advantage of that is that we could then realize when we are making a breaking change on a preview package, so that we can remember to mention something in the release notes for customers to upgrade.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I needed to disable validation because I was updating to the new Azure.AI.OpenAI dependency.

Instead of disabling validation, you can alternatively just pass the property /p:GenerateCompatibilitySuppressionFile=true as indicated here in order to generate a suppression file.

@joperezr
Copy link
Copy Markdown
Member Author

This is now stale and has been superseded. closing.

@joperezr joperezr closed this Nov 14, 2024
auto-merge was automatically disabled November 14, 2024 19:02

Pull request was closed

@github-actions github-actions Bot locked and limited conversation to collaborators Dec 16, 2024
@github-actions github-actions Bot added area-integrations Issues pertaining to Aspire Integrations packages and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Mar 10, 2025
@joperezr joperezr deleted the MarkShippedAndEnablePackageValidation branch April 1, 2025 17:43
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-integrations Issues pertaining to Aspire Integrations packages

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants