Prepare release-ready C# NuGet package workflow#1707
Draft
chavic wants to merge 2 commits into
Draft
Conversation
Replace the draft nuspec package with a packable SDK-style project that emits a public managed assembly and RID-specific native assets, following the .NET guidance for packages that ship native libraries. Add release-profile native asset scripts, package smoke validation in a clean sample app, and CI jobs that build, pack, and install the preview package across the supported RID matrix: linux-arm64, linux-x64, osx-arm64, osx-x64, win-arm64, and win-x64.
Add maintainer documentation covering package versioning and the publish steps to nuget.org, and link it from the package readme. The package version tracks the payjoin-ffi crate version with a preview suffix, and publication uses the CI-built package artifact so releases always contain every supported RID native asset.
Collaborator
Coverage Report for CI Build 28620517276Coverage remained the same at 85.938%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the draft
nuspecpackaging with a packable SDK-style project that ships a compiled managedPayjoin.dllplus release-profile native libraries underruntimes/{rid}/native/for all six supported RIDs —linux-arm64,linux-x64,osx-arm64,osx-x64,win-arm64,win-x64— and adds CI that builds each native asset, packs the.nupkg, and installs it into a clean console app with a smoke test on every RID.RELEASING.mddocuments versioning and the manual publish path with a release-readiness checklist. Version0.24.0-preview.1trackspayjoin-ffi 0.24.0and is an intentional package-model break from the0.0.1placeholder. musl/Alpine is the one platform left out — it needs a musl cross-toolchain rather than just a matrix entry.Verified locally on linux-x64 end-to-end (release native build → pack → clean-app install from a local feed → FFI smoke run, 27/27 tests); the remaining RIDs are exercised by this PR's CI.
Closes #1448
Disclosure: co-authored by Claude Code