Upgrade OpenTelemetry, Testcontainers, xunit and AWSSDK.S3 - #205
Conversation
- OpenTelemetry.* 1.17.0 -> 1.18.0 (exporters, hosting, instrumentation) - Testcontainers.PostgreSql 4.0.0 -> 4.14.0 - xunit 2.9.2 -> 2.9.3 (both test projects) - AWSSDK.S3 4.0.102 -> 4.0.102.4 Testcontainers 4.14 deprecates the parameterless builder constructors in favour of passing the image to the constructor, so the four container fixtures move their image string off .WithImage() to keep the build free of CS0618. The jump also clears NU1903: Testcontainers 4.0.0 pinned SSH.NET 2023.0.0, which carries a known high-severity advisory; 4.14.0 resolves 2026.0.0 and `dotnet list package --vulnerable --include-transitive` now reports clean across all three projects. Lockfiles regenerated with `dotnet restore --force-evaluate`, since the image and CI restore in locked mode. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: QUIET Plan: Pro Plus Run ID: 📒 Files selected for processing (10)
Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughChangesThe pull request updates AWS S3, OpenTelemetry, xUnit, and Testcontainers dependencies. It also updates transitive lockfile resolutions and passes container images directly to Testcontainers builders. Dependency and integration test updates
Estimated code review effort: 2 (Simple) | ~15 minutes Merge Risk: ⚪ Minimal · up to This PR updates dependencies and adjusts test-container constructors without changing intended product behavior; the solution builds cleanly and all reported tests pass, so no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 4 files. (6 skipped: 6 unsupported.) ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Routine dependency maintenance — four upgrades in one PR, no behaviour change intended.
OpenTelemetry.Exporter.Console,.Exporter.OpenTelemetryProtocol,.Extensions.Hosting,.Instrumentation.AspNetCore,.Instrumentation.Http,.Instrumentation.RuntimeTestcontainers.PostgreSqlxunit(both test projects)AWSSDK.S3Two things worth a reviewer's attention
Testcontainers deprecates the parameterless builder constructors. 4.14 wants the image passed to the constructor instead of via
.WithImage(), so the four container fixtures (PostgresFixture,S3ReportSourceTests, and the two POP3 suites) move their image string up one line. Without it the build carries fourCS0618warnings; with it the solution builds clean. Same images, same versions — only where the string is passed changed.The upgrade clears a high-severity advisory.
Testcontainers4.0.0 pinnedSSH.NET2023.0.0 transitively, which tripsNU1903on every restore. 4.14.0 resolvesSSH.NET2026.0.0, anddotnet list package --vulnerable --include-transitivenow reports clean for all three projects. That warning is gone from restore output.Deliberately out of scope
xunit.runner.visualstudio2.8.2 → 4.0.0 andMicrosoft.NET.Test.Sdk17.14.1 → 18.9.0 — both major bumps to the test runner rather than the assertion library, and worth their own PR where a green run is the whole point of the diff.xunit.v3) with API changes; 2.9.3 is the in-place upgrade of what is referenced today.Microsoft.*10.0.10 → 10.0.11 bumps, which are an EF Core/ASP.NET set that should move together.Verification
All run against this branch on
net10.0:dotnet build DmarcAnalyzerApp.slnx— succeeded, 0 warnings, 0 errorsdotnet test src/api.tests— 842 passed, 0 faileddotnet test src/api.integration.tests— 78 passed, 0 failed (real Docker, PostgreSQL + MinIO + GreenMail containers)dotnet restore --force-evaluate, since the image and CI restore in locked mode and a stale lockfile fails there rather than locally.