Skip to content

Add NuGet consumer smoke test - #9

Merged
Courtland9777 merged 1 commit into
masterfrom
codex/nuget-readiness-consumer-smoke
Jul 11, 2026
Merged

Add NuGet consumer smoke test#9
Courtland9777 merged 1 commit into
masterfrom
codex/nuget-readiness-consumer-smoke

Conversation

@Courtland9777

Copy link
Copy Markdown
Owner

Summary

  • Enable GitHub SourceLink metadata and CI-friendly deterministic package settings for the library package.
  • Enable .snupkg symbol package generation during dotnet pack.
  • Add a local external-consumer smoke test script that packs the current version, creates a temporary /tmp consumer app, installs IntervalTree.Net from the local package source, and validates construction, adding intervals, point query, and overlap query behavior.
  • Wire the smoke test into CI after pack and document the SourceLink, symbols, and local consumer validation status.

Validation

  • git diff --check
  • dotnet format IntervalTree.Net.sln --verify-no-changes
  • NUGET_PACKAGES=/tmp/intervaltree-net-nuget-packages NUGET_HTTP_CACHE_PATH=/tmp/intervaltree-net-nuget-http-cache dotnet restore IntervalTree.Net.sln
  • NUGET_PACKAGES=/tmp/intervaltree-net-nuget-packages NUGET_HTTP_CACHE_PATH=/tmp/intervaltree-net-nuget-http-cache dotnet build IntervalTree.Net.sln --configuration Release --no-restore
  • NUGET_PACKAGES=/tmp/intervaltree-net-nuget-packages NUGET_HTTP_CACHE_PATH=/tmp/intervaltree-net-nuget-http-cache dotnet test IntervalTree.Net.sln --configuration Release --no-build
  • NUGET_PACKAGES=/tmp/intervaltree-net-nuget-packages NUGET_HTTP_CACHE_PATH=/tmp/intervaltree-net-nuget-http-cache dotnet pack src/IntervalTree.Net/IntervalTree.Net.csproj --configuration Release --no-build --output artifacts/package-pr2
  • NUGET_PACKAGES=/tmp/intervaltree-net-nuget-packages NUGET_HTTP_CACHE_PATH=/tmp/intervaltree-net-nuget-http-cache bash scripts/smoke-test-local-package.sh

Package Inspection

  • Fresh pack produced IntervalTree.Net.0.1.0-alpha.1.nupkg and IntervalTree.Net.0.1.0-alpha.1.snupkg.
  • .nupkg metadata includes ID/version/authors, MIT license expression, README, project URL, release notes, repository URL/type/commit, and an empty net8.0 dependency group.
  • .nupkg includes README.md, lib/net8.0/IntervalTree.Net.dll, and lib/net8.0/IntervalTree.Net.xml.
  • .snupkg contains lib/net8.0/IntervalTree.Net.pdb and SymbolsPackage metadata.
  • PDB string inspection showed a SourceLink map to raw.githubusercontent.com/Courtland9777/IntervalTree.Net/<commit>/*.

No NuGet package or symbol package was published, no upload or release workflow was added, and no secrets, tags, or GitHub releases were created.

@Courtland9777
Courtland9777 merged commit bb3eb50 into master Jul 11, 2026
1 check passed
@Courtland9777
Courtland9777 deleted the codex/nuget-readiness-consumer-smoke branch July 11, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant