7878 description : Publish iscc-lib to RubyGems
7979 type : boolean
8080 default : false
81+ nuget :
82+ description : Publish Iscc.Lib to NuGet
83+ type : boolean
84+ default : false
8185` ` `
8286
8387### Job Conditions
@@ -93,6 +97,8 @@ Each job chain activates on either a tag push or its corresponding checkbox:
9397 `if : startsWith(github.ref, 'refs/tags/v') || inputs.maven`
9498- **RubyGems jobs** (build-ruby-gems, publish-rubygems):
9599 `if : startsWith(github.ref, 'refs/tags/v') || inputs.rubygems`
100+ - **NuGet jobs** (pack-nuget, test-nuget, publish-nuget):
101+ `if : startsWith(github.ref, 'refs/tags/v') || inputs.nuget`
96102
97103Tag pushes activate all jobs (no inputs are set, but the tag condition passes for all).
98104
@@ -104,6 +110,7 @@ Tag pushes activate all jobs (no inputs are set, but the tag condition passes fo
104110| **PyPI** | OIDC trusted publishing | `pypa/gh-action-pypi-publish@release/v1` |
105111| **npm** | Token (`NPM_TOKEN` secret) | `NODE_AUTH_TOKEN` env var |
106112| **Maven Central** | GPG signing + Sonatype token | `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_USERNAME`, `MAVEN_PASSWORD` |
113+ | **NuGet** | API key (`NUGET_API_KEY`) | Scoped NuGet.org API key as GitHub Actions secret |
107114| **RubyGems** | OIDC trusted publishing | RubyGems trusted publisher config (or `GEM_HOST_API_KEY` secret fallback) |
108115
109116All jobs that use OIDC require `permissions : id-token: write`. Maven Central uses the Sonatype
@@ -192,6 +199,7 @@ Single build on ubuntu-latest, platform-independent.
192199| WASM | npm | `@iscc/wasm` |
193200| Java | Maven Central | `io.iscc:iscc-lib` |
194201| Ruby | RubyGems | `iscc-lib` |
202+ | C# / .NET | NuGet | `Iscc.Lib` |
195203| Go | pkg.go.dev | `github.com/iscc/iscc-lib/packages/go` (tag-based, no publish job) |
196204
197205# ## Java JNI native libraries (cargo + Maven)
@@ -315,12 +323,14 @@ workflow triggers on push to `main`.
315323- [x] `workflow_dispatch` with only `npm : true` builds and publishes only npm packages
316324- [x] `workflow_dispatch` with only `maven : true` builds and publishes only to Maven Central
317325- [ ] `workflow_dispatch` with only `rubygems : true` builds and publishes only to RubyGems
326+ - [x] `workflow_dispatch` with only `nuget : true` builds and publishes only to NuGet
318327- [x] Each registry's jobs are independent — failure in one does not block others
319328- [x] crates.io uses OIDC trusted publishing (no API key secret)
320329- [x] PyPI uses OIDC trusted publishing (no API key secret)
321330- [x] npm uses `NPM_TOKEN` repository secret
322331- [x] Maven Central uses GPG signing + Sonatype Central Portal credentials
323332- [ ] RubyGems uses OIDC trusted publishing (or `GEM_HOST_API_KEY` fallback)
333+ - [x] NuGet uses scoped API key (`NUGET_API_KEY` secret)
324334- [x] Python wheels use abi3-py310 (one wheel per platform for Python 3.10+)
325335- [x] Java JAR bundles 5-platform native libraries under `META-INF/native/`
326336- [ ] Ruby precompiled gems available for 5 platforms (Linux x86_64/aarch64, macOS x86_64/arm64,
0 commit comments