Skip to content

feat: add .NET time-server component example - #872

Open
Luis Quintanilla (luisquintanilla) wants to merge 3 commits into
microsoft:mainfrom
luisquintanilla:luisquintanilla-pr1-dotnet-component-example
Open

Luis Quintanilla (luisquintanilla) wants to merge 3 commits into
microsoft:mainfrom
luisquintanilla:luisquintanilla-pr1-dotnet-component-example

Conversation

@luisquintanilla

@luisquintanilla Luis Quintanilla (luisquintanilla) commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add the first .NET 10/componentize-dotnet Wassette example
  • add shared build, WIT documentation, validation, and registry wiring
  • keep registry pull requests structural-only until a successful publication makes OCI artifacts available

This is the first focused contribution for #871. It intentionally contains only the deterministic, credential-free time-server-dotnet component; later capability-focused examples will be proposed as separate PRs after this foundation is reviewed and merged.

Scope

  • time-server-dotnet exports the time-server WIT world and imports the WASI wall clock.
  • Shared MSBuild properties pin .NET 10, componentize-dotnet, NativeAOT/LLVM, and the required NuGet feeds.
  • The root build and example workflow restore/build, inject WIT documentation, validate components, and publish the first .NET registry artifact.
  • The cookbook documents WIT selection, generated bindings, NativeAOT/WASI constraints, policies, validation, and why file-based apps are not used for exported components.
  • Registry validation checks JSON structure on pull requests and dereferences OCI components after successful publication on main, avoiding false failures for unpublished draft artifacts.

Validation

  • dotnet restore and Release build succeeded.
  • wasm-tools validate and component WIT inspection succeed before documentation injection; final artifact validation succeeds after injection.
  • GitHub Actions Publish Examples build passed for this branch.
  • GitHub Actions registry validation passed for the structural pull-request path.
  • JSON/XML checks, documentation-link checks, and git diff --check passed.
  • Local just, wasm-tools, and wit-docs-inject were unavailable; CI supplied those checks.
  • The NuGet vulnerability endpoint was unavailable locally, producing only NU1900 warnings.

Notes

The .NET toolchain is preview-oriented. This PR does not add credentials, live API dependencies, generated bin/obj outputs, or the MCP client from the standalone wassette-dotnet repository.

Reference implementation branch: luisquintanilla-port-wassette-dotnet-examples
Current head: f77b51e03e2e661784184ab82f8cf15155676f58

@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Oct 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.10%. Comparing base (f0423f5) to head (93e927d).
⚠️ Report is 16 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #872      +/-   ##
==========================================
- Coverage   77.12%   77.10%   -0.03%     
==========================================
  Files          48       48              
  Lines       18429    18651     +222     
==========================================
+ Hits        14213    14380     +167     
- Misses       4216     4271      +55     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Defer OCI registry loading until example publication completes on main, while retaining structural pull request checks. Validate and inspect the .NET component before WIT documentation injection and validate the final artifact afterward.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@asw101
Aaron Wislang (asw101) force-pushed the luisquintanilla-pr1-dotnet-component-example branch from f77b51e to 2d1616c Compare October 18, 2026 17:47
@luisquintanilla
Luis Quintanilla (luisquintanilla) marked this pull request as ready for review October 20, 2026 18:40

This branch has not been deployed

No deployments
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.

2 participants