Skip to content

SmokeMe v3: split, modernize, explicit registration - #13

Merged
tpierrain merged 6 commits into
mainfrom
v3-split-modernize-explicit-registration
Mar 29, 2026
Merged

SmokeMe v3: split, modernize, explicit registration#13
tpierrain merged 6 commits into
mainfrom
v3-split-modernize-explicit-registration

Conversation

@tpierrain

Copy link
Copy Markdown
Owner

Summary

  • Split into 2 packages: SmokeMe (core, netstandard2.0) and SmokeMe.AspNetCore (net8.0/net9.0/net10.0)
  • New ISmokeTestConfiguration interface decouples from ASP.NET's IConfiguration
  • Explicit registration: AddSmokeMe() + MapSmokeEndpoint() (Minimal APIs)
  • Legacy SmokeController kept with [Obsolete] for migration path
  • Removed deprecated ICheckSmoke interface
  • Replaced Newtonsoft.Json with System.Text.Json
  • Deleted Sample.dotnet5.Api (EOL), added Sample.Api with Minimal Hosting
  • Retargeted Sample.ExternalSmokeTests to netstandard2.0
  • Updated CI workflow for .NET 8/9, actions v4

Test plan

  • dotnet build SmokeMe.sln — compiles all 5 projects
  • dotnet test SmokeMe.sln — 27/27 tests pass
  • dotnet pack — produces SmokeMe.3.0.0.nupkg and SmokeMe.AspNetCore.3.0.0.nupkg
  • Run Sample.Api and curl http://localhost:5000/smoke to verify end-to-end

🤖 Generated with Claude Code

tpierrain and others added 6 commits March 29, 2026 17:12
- Split into 2 packages: SmokeMe (core, netstandard2.0) and SmokeMe.AspNetCore (net8.0/net9.0/net10.0)
- New ISmokeTestConfiguration interface decouples from ASP.NET IConfiguration
- Explicit registration: AddSmokeMe() + MapSmokeEndpoint() (Minimal APIs)
- Legacy SmokeController kept with [Obsolete] for migration path
- Removed deprecated ICheckSmoke interface
- Replaced Newtonsoft.Json with System.Text.Json
- Deleted Sample.dotnet5.Api (EOL), added Sample.Api with Minimal Hosting
- Retargeted Sample.ExternalSmokeTests to netstandard2.0
- Updated CI workflow for .NET 8/9, actions v4
- All 27 tests pass

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ization consistency

- Remove net10.0 from TFMs, target net8.0/net9.0 (supported versions)
- Delete stale Sample.31.Api/ directory and Smoke.xml
- Restore 30s timeout on RestClient HttpClient (netstandard2.0 compat)
- Use Results.Json consistently in MapSmokeEndpoint (instead of Results.Ok)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add MIGRATION-v2-to-v3.md with step-by-step upgrade instructions
- Rewrite README for v3: setup with AddSmokeMe()/MapSmokeEndpoint(), packages table, configuration section, updated FAQ
- Update release notes in both csproj with migration guide link
- Replace breakingChanges.jpg with breaking-news-v3.png
- Replace Twitter icon/link with Bluesky (thomas.pierrain@shodo.io)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Absolute URLs pointed to wrong repo (42skillz/Smoke) or to main branch
where the new images don't exist yet. Relative paths work on any branch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Removes the branch restriction on push so that feature branches
also produce NuGet artifacts. Also ignores .md and .png changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tpierrain
tpierrain merged commit 4b2a731 into main Mar 29, 2026
2 checks passed
@tpierrain
tpierrain deleted the v3-split-modernize-explicit-registration branch March 29, 2026 17:11
tpierrain added a commit that referenced this pull request Mar 30, 2026
Based on a LinkedIn discussion with Pierre Gillon about which features
to smoke test and how to handle non-rollbackable features, external
dependencies, service choreography and fake production data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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