unum-cloud / usearch

Fast Open-Source Search & Clustering engine × for Vectors & 🔜 Strings × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍
https://unum-cloud.github.io/usearch/
Apache License 2.0
2.15k stars 130 forks source link

160 feature c bindings and semantic kernel integration #213

Closed alexbarev closed 1 year ago

alexbarev commented 1 year ago

@ashvardanian, I've submitted a new pull request and released a NuGet package on the test servers.

Changes

Notes

Issues

Next Steps:

Should we also consider adding tests for x86 architectures, or focus mainly on x64?"

Let me know your thoughts.

ashvardanian commented 1 year ago

@AleksandrKent, we generally prefer fewer actions, as GitHub is a little slow in running them. Can we consolidate everything into release.yml and prerelease.yml? Have you tried uploading the NuGet package to the GitHub registry like we do with Maven? Is there a difference from users perspective?

alexbarev commented 1 year ago

@ashvardanian

New Changes:

  1. Moved 'Build and Test' jobs in the prerelease.yml.
  2. Moved a 'Push to NuGet' jobs in the releases.yml.
  3. Verified the workflow locally.
  4. For additional changes, see the commit messages.

Notes:

Regarding GitHub Package Registry: Publishing to the GitHub Package Registry is an option. However, this source is not the default for the dotnet nuget command. Users would need to manually add this source to their projects. Additionally, the package won't appear on nuget.org.

We could publish to both NuGet and GitHub if it serves project needs. I haven't checked out the Maven yet. I'll look into possible ways of connecting NuGet and GitHub Registry later.

alexbarev commented 1 year ago

@ashvardanian, I've rebased the pull request to include dluc's changes and have merged the latest updates from main-dev. I've verified that the jobs related to C# run successfully on both the release and prerelease worfklows.

Although I updated update_version.sh to edit C# project files to update version, in jobs I just grab version from VERSION file in the repository root. That is because I did not find out when update_version.sh executes.

Here's how the package looks now on the test NuGet server: https://int.nugettest.org/packages/Cloud.Unum.USearch

There is also instruction on local build, test and publish NuGet package.

ashvardanian commented 1 year ago

:tada: This PR is included in version 2.0.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: