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

package garnet-server as a .NET tool #779

Merged
merged 4 commits into from
Nov 8, 2024
Merged

Conversation

mgravell
Copy link
Contributor

@mgravell mgravell commented Nov 7, 2024

fixes #774

preview (to check package details etc) is here - I've separately initiated a handover of that package to the Garnet account.

Usage:

image

   15:54:40  GarnetServer net-tool  3   8.0.300   153ms 
➜ dotnet tool install --global garnet-server --version 1.0.36-preview1
You can invoke the tool using the following command: garnet-server
Tool 'garnet-server' (version '1.0.36-preview1') was successfully installed.
   15:54:45  GarnetServer net-tool  3   8.0.300   2.637s 
➜ garnet-server
    _________
   /_||___||_\      Garnet 1.0.36 64 bit; standalone mode
   '. \   / .'      Port: 6379
     '.\ /.'        https://aka.ms/GetGarnet
       '.'

* Ready to accept connections

@mgravell mgravell marked this pull request as ready for review November 7, 2024 16:00
@badrishc
Copy link
Contributor

badrishc commented Nov 7, 2024

Here is where our CI pipeline does a NuGet pack of the .nuspec in order to create the nupkg, then sign it, and then push it to nuget.org --

https://github.com/microsoft/garnet/blob/main/.azure/pipelines/azure-pipelines-external-release.yml#L101

The push to nuget.org happens here: https://github.com/microsoft/garnet/blob/main/.azure/pipelines/azure-pipelines-external-release.yml#L191

Seems we need to add an additional step here to create this garnet-server tool (or maybe it will happen automatically?). Assuming it generates a nupkg, the above pipeline should automatically sign and push to nuget.org, as it does this for all .nupkg files found in the build artifact directory.

@mgravell
Copy link
Contributor Author

mgravell commented Nov 8, 2024

@badrishc pack on the exe's project will indeed create a nupkg - I also configured it so that release builds generate a nupkg; however, yes something probably needs adding to sign and upload this additional package. I will openly declare that build yml innards are my kryptonite, not least because it isn't usually possible to run them locally to test, so: I don't know exactly what changes are needed there!

@darrenge
Copy link
Contributor

darrenge commented Nov 8, 2024

Currently, the code signing happens on:
Files: Garnet.server.dll,Garnet.client.dll,Garnet.common.dll,Garnet.cluster.dll,Garnet.host.dll,HdrHistogram.dll,Tsavorite.core.dll,Tsavorite.devices.AzureStorageDevice.dll,native_device.dll,GarnetServer.exe

Nuget Packages: Microsoft.Garnet.*.nupkg

@badrishc
Copy link
Contributor

badrishc commented Nov 8, 2024

Will merge this and we can make whatever changes we need to get this to push automatically, thanks!

@badrishc badrishc merged commit 8149574 into microsoft:main Nov 8, 2024
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create "dotnet global tool" packaging to make deployment trivial
4 participants