Prepare MemNet.Client and MemNet.AgentMemory for NuGet publishing#2
Prepare MemNet.Client and MemNet.AgentMemory for NuGet publishing#2TianqiZhang wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a5e956735
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| </PropertyGroup> | ||
|
|
||
| <ItemGroup> | ||
| <None Include="README.md" Pack="true" PackagePath="/" /> |
There was a problem hiding this comment.
Use
Update for README packing metadata
In SDK-style projects, README.md is already included as a default None item, so adding it again with <None Include="README.md" .../> creates a duplicate item and can fail dotnet build/pack with NETSDK1022 before the publish workflow reaches push. This blocks package publication for this project and the same pattern is also present in src/MemNet.AgentMemory/MemNet.AgentMemory.csproj.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Prepares the MemNet .NET SDK projects (MemNet.Client and MemNet.AgentMemory) to be published on NuGet by adding package metadata/readmes and introducing a manual GitHub Actions publish workflow.
Changes:
- Added NuGet package metadata + packed README files to both SDK
.csprojprojects. - Added a manual
workflow_dispatchGitHub Actions workflow to restore, test, pack, and push packages to NuGet.org. - Updated repo documentation/task board to reflect NuGet packaging and installation.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/MemNet.Client/README.md |
Adds package README content for NuGet package page. |
src/MemNet.Client/MemNet.Client.csproj |
Adds NuGet metadata + packs README into the package. |
src/MemNet.AgentMemory/README.md |
Adds package README content for NuGet package page. |
src/MemNet.AgentMemory/MemNet.AgentMemory.csproj |
Adds NuGet metadata + packs README into the package. |
README.md |
Adds NuGet package links and install commands. |
.github/workflows/publish-sdk-packages.yml |
Adds manual CI workflow to test/pack/push SDK packages. |
docs/project/TASK_BOARD.md |
Marks NuGet packaging/publish tasks as completed. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## .NET SDK Quickstart | ||
|
|
||
| ## .NET SDK Packages |
There was a problem hiding this comment.
The new "## .NET SDK Packages" header is placed immediately after "## .NET SDK Quickstart", leaving the Quickstart section with no content and breaking the document hierarchy. Consider making Packages a subsection (e.g., "###") under the Quickstart heading, or move/rename headings so the structure matches the content that follows.
| ## .NET SDK Packages | |
| ### .NET SDK Packages |
…g push - Change None Include to None Update for README.md in both SDK csproj files to avoid NETSDK1022 duplicate item errors in SDK-style projects - Demote '.NET SDK Packages' to h3 subsection under '.NET SDK Quickstart' so the Quickstart heading is not left empty - Add snupkg push step to publish workflow so symbol packages reach NuGet.org alongside the main nupkg files
- Add src/Directory.Build.props with shared VersionPrefix/VersionSuffix, SourceLink, symbol packages, and NuGet metadata for packable projects - Slim down SDK csproj files to project-specific properties only - Mark MemoryService as IsPackable=false, remove its duplicated SourceLink/symbols config (now inherited) - Remove publish-sdk-packages.yml workflow; packages will be pushed manually via dotnet nuget push
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - [x] Add NuGet package metadata/readmes for `MemNet.Client` and `MemNet.AgentMemory` | ||
| - [x] Add manual publish workflow for SDK packages to nuget.org |
There was a problem hiding this comment.
TASK_BOARD marks the manual publish workflow as completed, but this PR doesn’t include the referenced GitHub Actions workflow file (only .github/workflows/ci.yml exists in the repo). Either add .github/workflows/publish-sdk-packages.yml as described in the PR, or adjust this checklist item so it matches what’s actually being shipped.
Motivation
MemNet.ClientandMemNet.AgentMemoryvia NuGet.Description
Version,PackageId,Title,Description,Authors,PackageReadmeFile,GenerateDocumentationFile, etc.) tosrc/MemNet.Client/MemNet.Client.csprojandsrc/MemNet.AgentMemory/MemNet.AgentMemory.csprojso both projects can be packed as packages.README.mdfiles and mark them to be packed into each package so NuGet package pages show first-party documentation (src/MemNet.Client/README.md,src/MemNet.AgentMemory/README.md)..github/workflows/publish-sdk-packages.ymlthat restores, runs SDK unit/integration tests, packs both SDKs, and pushes*.nupkgtohttps://api.nuget.org/v3/index.jsonusing theNUGET_API_KEYsecret.README.mdwith NuGet package links and install commands, and updatedocs/project/TASK_BOARD.mdto record the packaging/publish work.Testing
git diff --checkto validate whitespace/patch issues and it succeeded.dotnet test tests/MemNet.Sdk.UnitTests/MemNet.Sdk.UnitTests.csproj -c Debug --configfile NuGet.Config, but thedotnetCLI is not available in this environment so the command failed withbash: command not found: dotnet.dotnet/nugettooling, so restore/build/test/pack/push steps are delegated to the new GitHub Actions workflow which runs these validations in CI (requiresNUGET_API_KEYfor publish).Codex Task