-
Notifications
You must be signed in to change notification settings - Fork 673
Add cargo ci dlls command for building C# DLLs and NuGet packages
#4033
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…d NuGet packages
sdks/csharp/unity-meta-skeleton~/spacetimedb.bsatn.runtime/lib/net8.0.meta
Show resolved
Hide resolved
bfops
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks pretty great to me. I left some nits, and I think there may be some remaining meta dance to do.
also, I see more files getting restored such as LICENSE and logo.png, so I think we should possibly do what #3648 did and add a gitignore for those files as well.
Updated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a quick skim of this - I don't have anything blocking. Thanks Ryan 👍
I'm not approving as Zeke has the primary review on this, but if more review from me is needed let me know 🙂
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com> Signed-off-by: Ryan <r.ekhoff@clockworklabs.io>
bfops
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought I had already approved. LGTM! Thanks @rekhoff .
Someday it would be nice to add tests for some of the behavior, like the skeleton directory overlaying, or that dotnet restore has meta files on all platforms, but that seems out of scope for now since they're pretty easy to hand-test.
Description of Changes
cargo ci dllssubcommand to build/pack the in-repo C# NuGet packages and the C# SDK.cargo ci dllsrestoressdks/csharp/SpacetimeDB.ClientSDK.csprojusing the freshly built local package outputs as to populatesdks/csharp/packages/**..metaskeleton undersdks/csharp/unity-meta-skeleton~/**and overlays those.metafiles onto the latest restored versioned package directory to keep Unity GUIDs stable and import settings consistent.net8.0, and marking analyzer DLLs with theRoslynAnalyzerlabel so Unity can recognize them).How to use (local)
# Build/pack + restore local packages into sdks/csharp/packages/** cargo ci dllsAPI and ABI breaking changes
N/A
Expected complexity level and risk
2 - Local developer tooling + file overlay into restore output; no runtime/SDK API behavior changes.
Testing
cargo check -p cicargo ci dllsand verified the output undersdks/csharp/packages/**and the various NuGet package locations.