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

Add the ability to keep packages in preview #2541

Closed
eerhardt opened this issue Feb 29, 2024 · 7 comments · Fixed by #3116
Closed

Add the ability to keep packages in preview #2541

eerhardt opened this issue Feb 29, 2024 · 7 comments · Fixed by #3116

Comments

@eerhardt
Copy link
Member

When we ship for 8.0 GA, there are going to be some Components that shouldn't be shipped as "stable". For example, https://www.nuget.org/packages/Azure.AI.OpenAI/ does not have a stable version yet. If it doesn't have a stable version before we ship for 8.0 GA, we shouldn't (can't?) ship our Aspire.Azure.AI.OpenAI component as a stable version.

We should have some build infrastructure that allows for specific packages to be built with a preview tag, even when the rest of the packages are "stable".

cc @joperezr @DamianEdwards @sebastienros @radical

@radical
Copy link
Member

radical commented Feb 29, 2024

What would the versions look like? For 8.0 - 8.0.400-preview..? Are there any other repos that ship packages like that - some stable, and some preview?
I'm just wondering if that is accepted way to do it, or if we need to tell the users that it's not a stable package in some other way? (name? build warning?)

@WhitWaldo
Copy link
Contributor

WhitWaldo commented Feb 29, 2024

I don't know about packages themselves, but Dapr's .NET SDK currently marks preview APIs with the [Deprecated] attribute, just so they're called out as not yet supported. This issue has them considering switching to the [Experimental] attribute instead though as that's better aligned with the intent.

Even if the packages are marked as not-preview, it might be worth marking the APIs themselves as experimental to call that out.

@eerhardt
Copy link
Member Author

eerhardt commented Mar 1, 2024

What would the versions look like? For 8.0 - 8.0.400-preview..? Are there any other repos that ship packages like that - some stable, and some preview?

dotnet/runtime does this with <IsShippingAssembly>false</IsShippingAssembly>. This was used in the https://www.nuget.org/packages/System.Numerics.Tensors package until 8.0.0 finally shipped stable. For that package, when the rest of the assemblies shipped stable (7.0.0), it shipped with 7.0.0-rtm.22518.5.

https://github.com/open-telemetry/opentelemetry-dotnet also ships some packages as stable and some as not.

I'm not 100% sure how we'd want to handle it.

@DamianEdwards
Copy link
Member

I'm pretty sure dotnet/aspnetcore does this today too but not sure if they're using the <IsShippingAssembly>false</IsShippingAssembly> mechanism or something else.

@joperezr
Copy link
Member

joperezr commented Mar 1, 2024

Yup, essentially we just want to make sure that the DotNetFinalVersionKind property is not set to release if a project is marked with StabilizePackageVersion set to false. Here is how dotnet/runtime does it:

https://github.com/dotnet/runtime/blob/a2e4177bb55f192483a9f9477a79621338f9c58a/eng/Versions.props#L14-L17

@joperezr joperezr self-assigned this Mar 1, 2024
@radical
Copy link
Member

radical commented Mar 1, 2024

Grep'ing a bit - $(StableVersion) might be the relevant arcade property controlling this.

I'm pretty sure dotnet/aspnetcore does this today too but not sure if they're using the <IsShippingAssembly>false</IsShippingAssembly> mechanism or something else.

Can you name any such package? It would help me to check how they might be doing it. My grep-fu fell short in trying to find that in the aspnetcore repo.

@radical
Copy link
Member

radical commented Mar 1, 2024

Yup, essentially we just want to make sure that the DotNetFinalVersionKind property is not set to release if a project is marked with StabilizePackageVersion set to false. Here is how dotnet/runtime does it:

dotnet/runtime@a2e4177/eng/Versions.props#L14-L17

oops, didn't see this message!

eerhardt added a commit to eerhardt/aspire that referenced this issue Apr 12, 2024
…able yet

- Aspire.Hosting.AWS
- OpenAI
- EventHubs

Part of dotnet#2541
eerhardt added a commit that referenced this issue Apr 15, 2024
…able yet (#3668)

- Aspire.Hosting.AWS
- OpenAI
- EventHubs

Part of #2541
github-actions bot pushed a commit that referenced this issue Apr 15, 2024
…able yet

- Aspire.Hosting.AWS
- OpenAI
- EventHubs

Part of #2541
RussKie pushed a commit that referenced this issue Apr 15, 2024
…able yet (#3707)

- Aspire.Hosting.AWS
- OpenAI
- EventHubs

Part of #2541

Co-authored-by: Eric Erhardt <[email protected]>
@github-actions github-actions bot locked and limited conversation to collaborators May 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants