[diskann-garnet] Create workflow to publish to nuget#926
[diskann-garnet] Create workflow to publish to nuget#926tiagonapoli wants to merge 1 commit intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a GitHub Actions workflow to build the diskann-garnet native library for Linux/Windows, package it into a NuGet package (via the existing .nuspec), and publish to nuget.org using Trusted Publishing when garnet-v* tags are pushed (or optionally via manual dispatch).
Changes:
- Introduces a new
publish-diskann-garnet-nuget.ymlworkflow triggered bygarnet-v*tags andworkflow_dispatch. - Builds native artifacts on Ubuntu and Windows and uploads them as workflow artifacts.
- Packs a
.nupkgfromdiskann-garnet.nuspecand publishes to NuGet using OIDC (Trusted Publishing).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| publish: | ||
| description: "Publish package to NuGet" | ||
| required: false | ||
| type: boolean | ||
| default: false | ||
| push: | ||
| tags: | ||
| - "garnet-v*" | ||
|
|
There was a problem hiding this comment.
The workflow_dispatch path can publish from any branch ref (it checks out whatever ref the dispatch is run on). For release publishing, consider restricting manual publishing to main (or to tags only) and/or using a protected environment with required reviewers so an arbitrary branch can’t publish to NuGet via OIDC.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #926 +/- ##
==========================================
+ Coverage 89.40% 89.42% +0.01%
==========================================
Files 449 448 -1
Lines 85057 84856 -201
==========================================
- Hits 76049 75879 -170
+ Misses 9008 8977 -31
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
| - name: Install Rust ${{ env.rust_stable }} | ||
| uses: dtolnay/rust-toolchain@master | ||
| with: | ||
| toolchain: ${{ env.rust_stable }} |
There was a problem hiding this comment.
Do we want stable or the version in toolchain.toml?
Add GitHub Actions workflow to build diskann-garnet native libraries on Linux and Windows, package as a NuGet package, and publish to nuget.org. - Multi-platform build matrix (ubuntu-latest, windows-latest) - Rust cache via Swatinem/rust-cache@v2 - Version consistency validation (nuspec == Cargo.toml == tag) - Publish gated on diskann-garnet-v* tag push or manual dispatch from main - Uses NUGET_API_KEY secret for NuGet authentication Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ff58d8a to
0ebeff5
Compare
Create Github Actions workflow to publish to Nuget using Trusted Publishing nuget feature.
diskann-garnet-v*tags