Skip to content

test: cover baseline and current MongoDB driver graphs (#93) - #111

Merged
AGiorgetti merged 2 commits into
developfrom
test/93-driver-version-matrix
Nov 6, 2026
Merged

AGiorgetti merged 2 commits into
developfrom
test/93-driver-version-matrix

Conversation

@AGiorgetti

@AGiorgetti AGiorgetti commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Summary

Closes #93. Implements the approved proposal.

  • Add exact test-only driver selection: baseline 3.0.0 and pinned current stable 3.x 3.13.0, verified against NuGet. No floating version.
  • Run the same complete suite in six isolated driver/framework CI jobs (net8.0/net9.0/net10.0), with common MongoDB 7.0.45. Retain a seventh net10.0/Driver 3.13.0 job on MongoDB 9.0.4. Results have unique framework/driver/server names and are retained on failure.
  • Verify actual Driver/BSON restore graphs for every test and production target. Pack the existing nuspec on Windows and restore that exact local package as an isolated consumer across all six supported frameworks.
  • Add negative guards against missing graphs, BSON skew, production upgrades and changed package ranges, plus update instructions and changelog.

Package contract

The production project still references MongoDB.Driver 3.0.0. The published [3.0.0,4.0.0) range and production source are untouched. This is a test/CI change with no API, schema or migration change. The current pin is updated through reviewed changes; dependency-advisory remediation remains separate.

Validation

  • Reproduced the missing baseline selection before changing the project: a requested 3.0.0 still resolved 3.9.0.
  • Both 3.0.0 and 3.13.0 restored Driver/BSON at the exact requested versions across all four test targets; all six production targets stayed at 3.0.0.
  • Full test project built for net472/net8.0/net9.0/net10.0 in both lanes.
  • Full suite: 1,138 passed, zero failed/skipped per driver/framework pair, net8.0/net9.0/net10.0. Total 6,828 passes against local MongoDB 7.0.16.
  • All dependency-verifier positive/negative tests pass, including NuGet-normalized range whitespace.
  • Actual nuspec package built locally with the SDK pack task; isolated source-mapped consumer restore verified Driver/BSON 3.0.0 on net472/netstandard2.1/net6.0/net8.0/net9.0/net10.0.
  • YAML parses and whitespace checks pass with the repository's existing CRLF line endings preserved. Independent review approved after fixing normalized range handling.

CI verification and limits

Both initial Linux/Windows build jobs passed, including real Windows nuget pack, dependency guards and six-target consumer restore. The initial MongoDB 8.0.34 test containers refused the runner's Linux 6.19+ kernel (SERVER-121912) before tests ran. The updated matrix uses MongoDB 7.0.45 for both driver lanes and retains MongoDB 9.0.4 with the current driver on net10.0. The upstream 3.13.0 driver CI tests both server generations. Final CI run 42249536792 passed on c508d95147ae03ed2a407c1330bb516db3835dc8: both build jobs and all seven test jobs are green, with 1,138 passed and zero failed/skipped per test job (7,966 CI test passes). The final Windows build also passed packaging and isolated consumer restore checks.

Local integration results use MongoDB 7.0.16 because MongoDB 8.0.34 also aborts locally in tcmalloc CPU discovery. .NET Framework 4.7.2 was compiled, not executed. Existing NuGet advisory warnings for the baseline dependency graph and build tooling remain; no production dependencies were changed to suppress them.

Co-authored by Alessandro Giorgetti and Codex (OpenAI).

AGiorgetti and others added 2 commits November 6, 2026 16:58
Keep the production driver reference and published dependency range unchanged. Exercise exact 3.0.0 and 3.13.0 test graphs in isolated CI jobs and verify restored and packed consumer dependencies across all supported targets.

Co-authored-by: Alessandro Giorgetti <alessandro.giorgetti@live.com>
Co-authored-by: Codex (OpenAI) <codex@openai.com>
MongoDB 8.0.34 refuses Linux 6.19+ on ubuntu-latest (SERVER-121912). Compare both exact driver lanes on MongoDB 7.0.45 and retain a full net10.0/current-driver lane on MongoDB 9.0.4. Keep distinct artifact names and avoid a deprecated runner.

Co-authored-by: Alessandro Giorgetti <alessandro.giorgetti@live.com>
Co-authored-by: Codex (OpenAI) <codex@openai.com>
@AGiorgetti
AGiorgetti marked this pull request as ready for review November 6, 2026 17:42
@AGiorgetti
AGiorgetti merged commit 7f27fa4 into develop Nov 6, 2026
9 checks passed
@AGiorgetti
AGiorgetti deleted the test/93-driver-version-matrix branch November 6, 2026 17:43
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.

[P3] Test the advertised MongoDB.Driver dependency floor as well as the newer test override

1 participant