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

Release .NET Clients version 1.0.0 to NuGet #2051

Closed
joshuali925 opened this issue Apr 28, 2022 · 37 comments
Closed

Release .NET Clients version 1.0.0 to NuGet #2051

joshuali925 opened this issue Apr 28, 2022 · 37 comments
Assignees
Labels

Comments

@joshuali925
Copy link
Member

joshuali925 commented Apr 28, 2022

Is your feature request related to a problem? Please describe

Since NuGet account is created, we would like to release the .NET clients from opensearch-net repo. Here is the list of packages and descriptions:

  • OpenSearch.Client -- Strongly typed interface to OpenSearch. Fluent and classic object initializer mappings of requests and responses. Uses and exposes OpenSearch.Net.
  • OpenSearch.Net -- Exposes all the OpenSearch API endpoints but leaves you in control of building the request and response bodies. Comes with built in cluster failover/connection pooling support.
  • OpenSearch.Net.VirtualizedCluster -- Provides a way to assert client behavior through a rule engine backed VirtualClusterConnection.
  • OpenSearch.Client.JsonNetSerializer -- OpenSearch.Client uses an internal serializer. This package enables serialization for your documents using your own custom Json.NET serializer

The artifacts are generated by this workflow: https://github.com/opensearch-project/opensearch-net/actions/workflows/release.yml

Describe the solution you'd like

Infra's help to release the packages to NuGet, please let me know if something is required

Describe alternatives you've considered

No response

Additional context

Linking release issue opensearch-project/opensearch-net#14

@joshuali925 joshuali925 added enhancement New Enhancement untriaged Issues that have not yet been triaged labels Apr 28, 2022
@joshuali925 joshuali925 changed the title Release .NET Clients to NuGet Release .NET Clients version 1.0.0 to NuGet Apr 28, 2022
@bbarani
Copy link
Member

bbarani commented May 2, 2022

@zelinh @prudhvigodithi Please proceed with publishing the client

@prudhvigodithi prudhvigodithi removed the untriaged Issues that have not yet been triaged label May 6, 2022
@prudhvigodithi
Copy link
Member

[Triage] @zelinh already have some progress with nuget account setup, need a way to sign and publish the package
https://docs.microsoft.com/en-us/nuget/create-packages/sign-a-package
https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package

@anirudha
Copy link
Contributor

anirudha commented May 9, 2022

@prudhvigodithi , @zelinh what are the next steps on this ? thanks

@prudhvigodithi
Copy link
Member

Hey @anirudha and @joshuali925 let me know if you are ok with reserved prefixed as OSC and OpenSearch, so that glob patterns OSC.* and OpenSearch.* should also work.

@joshuali925
Copy link
Member Author

@prudhvigodithi That should work. Since there are two prefixes, is it still possible to see them together in one place on NuGet? maybe by going to the owner/publisher profile, or search for OpenSearch, would both show up?

@prudhvigodithi
Copy link
Member

Hey @joshuali925 yes
Expecting something like
https://www.nuget.org/packages/OSC
https://www.nuget.org/packages/OpenSearch
https://www.nuget.org/packages/OpenSearch.Net

@anandbprem
Copy link

anandbprem commented May 27, 2022

Hi Team,
Please keep us updated with the NuGet package release plan. We are eagerly waiting for it.

Please let us know if you need any help.

@prudhvigodithi
Copy link
Member

prudhvigodithi commented May 27, 2022

Hey thanks @anandbprem, working closely on this issue with Microsoft(nuget.org) and awsdotnet teams to get a reserved prefixes for OpenSearch and OSC, this includes getting three Glob patterns OpenSearch.* OSC.* OSC and creating a release flow to sign the generated dll's and update the nukpg packages securely. Multiple phases :)

@anandbprem
Copy link

Thanks for your response, also we need to plan to upgrade from .net 5.0 to 6.0 :) :)

@prudhvigodithi
Copy link
Member

prudhvigodithi commented Jun 1, 2022

Hey @joshuali925, following are the dll files generated when i run dotnet build OpenSearch.sln --configuration Release, Please let me know if i'm missing anything, we should be signing all generated dll's and run dotnet pack OpenSearch.sln --configuration Release --no-build to pack them into .nukpg file.

  OpenSearch.Net -> src/OpenSearch.Net/bin/Release/net461/OpenSearch.Net.dll
  OpenSearch.Net -> src/OpenSearch.Net/bin/Release/netstandard2.1/OpenSearch.Net.dll
  OpenSearch.Net -> src/OpenSearch.Net/bin/Release/netstandard2.0/OpenSearch.Net.dll
  OpenSearch.Net.dll -> src/Osc/bin/Release/netstandard2.0/OpenSearch.Net.dll
  OpenSearch.Net.dll -> src/Osc/bin/Release/net461/OpenSearch.Net.dll
  OpenSearch.Net.dll -> src/OpenSearch.Net.VirtualizedCluster/bin/Release/net461/OpenSearch.Net.dll
  OpenSearch.Net.dll -> src/OpenSearch.Net.VirtualizedCluster/bin/Release/netstandard2.0/OpenSearch.Net.dll 
  OpenSearch.Net.dll -> src/Osc.JsonNetSerializer/bin/Release/net461/OpenSearch.Net.dll 
  OpenSearch.Net.dll -> src/Osc.JsonNetSerializer/bin/Release/netstandard2.0/OpenSearch.Net.dll


  OpenSearch.Net.VirtualizedCluster -> src/OpenSearch.Net.VirtualizedCluster/bin/Release/netstandard2.0/OpenSearch.Net.VirtualizedCluster.dll
  OpenSearch.Net.VirtualizedCluster -> src/OpenSearch.Net.VirtualizedCluster/bin/Release/net461/OpenSearch.Net.VirtualizedCluster.dll


  Osc -> src/Osc/bin/Release/netstandard2.0/Osc.dll
  Osc -> src/Osc/bin/Release/net461/Osc.dll
  Osc -> src/Osc.JsonNetSerializer/bin/Release/net461/Osc.dll
  Osc -> src/Osc.JsonNetSerializer/bin/Release/netstandard2.0/Osc.dll
   
  Osc.JsonNetSerializer -> src/Osc.JsonNetSerializer/bin/Release/netstandard2.0/Osc.JsonNetSerializer.dll
  Osc.JsonNetSerializer -> src/Osc.JsonNetSerializer/bin/Release/net461/Osc.JsonNetSerializer.dll

or just the following that actually get packed into the nuget packages ?

src/Osc/bin/Release/net461/Osc.dll
src/Osc/bin/Release/netstandard2.0/Osc.dll
src/OpenSearch.Net/bin/Release/net461/OpenSearch.Net.dll
src/OpenSearch.Net/bin/Release/netstandard2.0/OpenSearch.Net.dll
src/OpenSearch.Net/bin/Release/netstandard2.1/OpenSearch.Net.dll
src/OpenSearch.Net.VirtualizedCluster/bin/Release/net461/OpenSearch.Net.VirtualizedCluster.dll
src/OpenSearch.Net.VirtualizedCluster/bin/Release/netstandard2.0/OpenSearch.Net.VirtualizedCluster.dll
src/Osc.JsonNetSerializer/bin/Release/net461/Osc.JsonNetSerializer.dll
src/Osc.JsonNetSerializer/bin/Release/netstandard2.0/Osc.JsonNetSerializer.dll

@joshuali925
Copy link
Member Author

From the existing .nupkg files i see just these ones:

OpenSearch.Net/lib/net461/OpenSearch.Net.dll
OpenSearch.Net/lib/netstandard2.0/OpenSearch.Net.dll
OpenSearch.Net/lib/netstandard2.1/OpenSearch.Net.dll
OpenSearch.Net.VirtualizedCluster/lib/net461/OpenSearch.Net.VirtualizedCluster.dll
OpenSearch.Net.VirtualizedCluster/lib/netstandard2.0/OpenSearch.Net.VirtualizedCluster.dll
Osc/lib/net461/Osc.dll
Osc/lib/netstandard2.0/Osc.dll
Osc.JsonNetSerializer/lib/net461/Osc.JsonNetSerializer.dll
Osc.JsonNetSerializer/lib/netstandard2.0/Osc.JsonNetSerializer.dll

but I'm not sure, @MaxKsyunz could you check which ones are needed? thanks

@MaxKsyunz
Copy link
Contributor

@prudhvigodithi only the DLLs that get packed need to be signed -- your second list.

@prudhvigodithi
Copy link
Member

thanks @MaxKsyunz and @joshuali925
I do see another issue OSC.JsonNetSerializer.1.0.0.nupkg packages
Response status code does not indicate success: 409 (The package ID is reserved. You can upload your package with a different package ID. Reach out to [email protected] if you have questions.).
I'm able to test sign and upload OpenSearch.Net, OpenSearch.Net.VirtualizedCluster, OSC
https://www.nuget.org/packages/OpenSearch.Net/
https://www.nuget.org/packages/OpenSearch.Net.VirtualizedCluster/
https://www.nuget.org/packages/OSC/
But not OSC.JsonNetSerializer can you please check if anything wrong with OSC.JsonNetSerializer?
Thank you

@prudhvigodithi
Copy link
Member

I think I got the error
OSC.JsonNetSerializer.1.0.0.nupkg
The package ID is reserved. You can upload your package with a different package ID
can we use a different package ID?
@joshuali925 @MaxKsyunz

@joshuali925
Copy link
Member Author

Update: we renamed OSC and OSC.JsonNetSerializer to OpenSearch.Client and OpenSearch.Client.JsonNetSerializer respectively to avoid conflict

@prudhvigodithi
Copy link
Member

Hey @joshuali925 and @MaxKsyunz published the clients to nuget.org, please test/validate the clients, if required we can still unlist them from opensearchproject profile and republish them back again.
https://www.nuget.org/profiles/opensearchproject
Thank you.

@anandbprem
Copy link

@prudhvigodithi , the URL shared does not have any packages listed.

image

@INeerav
Copy link

INeerav commented Jun 21, 2022

any dates are we targeting @joshuali925

@joshuali925
Copy link
Member Author

the packages were taken down as there were some issues found during testing and validation. @prudhvigodithi could you provide an update on current status please? thanks

@INeerav
Copy link

INeerav commented Jun 23, 2022

@prudhvigodithi all we wanted to know is if the publish will happen in next couple of days or it would take more than a month to help us plan our dev work

@prudhvigodithi
Copy link
Member

Hey @INeerav @anandbprem the published packages were unlisted due to reported validation tests failure, @anirudha @joshuali925 are we good to republish the packages again? if so can you please share the 1.x version branch information.
Thank you

@anirudha
Copy link
Contributor

pending release processes for a final publish. thanks @prudhvigodithi

@bbarani
Copy link
Member

bbarani commented Jun 27, 2022

@anirudha What do you mean by pending release process? Are you still validating the packages? Can you provide a brief overview of the current status?

@msoler8785
Copy link

Looks like OpenSearch 2.0.x release has broken compatibility with elasticsearch-net library, so this is going to be needed soon for some people.

@INeerav
Copy link

INeerav commented Jul 1, 2022

@joshuali925 any updates?

@vmjrojas
Copy link

vmjrojas commented Jul 8, 2022

@joshuali925 Any updates?

@jamesdoran
Copy link

@prudhvigodithi, @anirudha, @joshuali925 is there any update on when the nuget packages will be re-released please?

@prudhvigodithi
Copy link
Member

Hey @anirudha @joshuali925 just wanted to follow up again, can you post an update when you get a chance?
Thank you

@joshuali925
Copy link
Member Author

currently in progress of security review

@PaulDMendoza
Copy link

How long does it take to get this nuget package published? We really need this nuget package published.

@jamesdoran
Copy link

currently in progress of security review

@joshuali925, @prudhvigodithi, @anirudha - is there anything I can do to help this process along?

@anirudha
Copy link
Contributor

anirudha commented Aug 8, 2022

All done! last friday :) finally! planning release activites to nuGet. we should have this posted in under week now.
@PaulDMendoza @jamesdoran

@anirudha
Copy link
Contributor

anirudha commented Aug 8, 2022

I posted the current status above, but I also want to acknowledge, and apologize for failing to provide a regular status update earlier. Thank you for your patience.

@CEHENKLE
Copy link
Member

CEHENKLE commented Aug 8, 2022

Thanks @anirudha! Can you share what the remaining steps are before we can release?

@prudhvigodithi
Copy link
Member

prudhvigodithi commented Aug 10, 2022

We just shipped OpenSearch 1.0.0 .NET clients to nuget repo https://www.nuget.org/profiles/opensearchproject.
Thanks @MaxKsyunz @joshuali925 @anirudha @Yury-Fridlyand @acarbonetto @bbarani

@jamesdoran
Copy link

Thanks everyone. Much appreciated 🥳

@bbarani
Copy link
Member

bbarani commented Aug 12, 2022

Closing this issue as we have released .Net client 1.0.0 to NuGet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests