fslaborg / Graphoscope

A pragmatic approach to network science.
http://fslab.org/Graphoscope/
MIT License
14 stars 6 forks source link

Setup nuget publication process #20

Closed HarryMcCarney closed 1 year ago

HarryMcCarney commented 1 year ago

We need to process for automating the publishing of nuget packages from sprint releases.

This will make Michele's testing feedback easier (he can reference the current version in fsx rather than having to build locally) and I think rapid iterative publication will improve quality faster.

I think we could publish v0.1 to the public nuget feed. Clearly we will need to caveat it with "alpha version - unfit for consumption" etc. Alternatively we could use a private package manager.

Happy to discuss.

kMutagene commented 1 year ago

In general I handle everything that has a 0 as major version as 'dangerous', so i don't think we need additional specifiers. We can also break as many API endpoints as we like as long as we do no not increase the major version beyond that.

See semver:

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

Regarding automating nuget releases (e.g. on a commit basis) I am kind of torn - it adds significant overhead to CI and is really spammy on the nuget feed. The nuget feed also takes some minutes to actually publish the package to clients, so its not instantaneous either way. I would still add a manual trigger for a nuget release, e.g. someone running the publishNuget target in their terminal.

Everything else is basically automated already:

So in short:

kMutagene commented 1 year ago

package should be live: https://www.nuget.org/packages/Graphoscope/0.0.1

HarryMcCarney commented 1 year ago

HI Kevin,

Thanks for setting this up. I think manually using publishNuget is a good plan.

Here is my nuget user https://www.nuget.org/profiles/HarryMcCarney and Dogan's https://www.nuget.org/profiles/doganck

regards,

Harry

kMutagene commented 1 year ago

I think we can close this, as the package is live 🎉