Closed alexbarev closed 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?
@ashvardanian
New Changes:
Notes:
VERSION
file.NUGET_APIKEY
secret must be set.--skip-duplicate
arg can be provided to dotnet command in future.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.
@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.
test_csharp
job that builds and tests the C# project.build_usearch_libs
, which produces an artifact of the built usearch libraries.
2) publish_csharp
, which depends on the previous step. It downloads the artifact and publishes it to https://api.nuget.org/v3/index.json using GitHub secrets named NUGET_APIKEY
.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.
:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:
@ashvardanian, I've submitted a new pull request and released a NuGet package on the test servers.
Changes
libs-build.yml
,csharp-release.yml
, andcsharp-build-and-test.yml
. All workflows ran successfully prior to merging changes from main-dev. See notes below.update_version.sh
to modify the C# project version.Notes
TODOs
in the .yml files.Issues
Next Steps:
Should we also consider adding tests for x86 architectures, or focus mainly on x64?"
Let me know your thoughts.