Skip to content

CSHARP-6116: Trim the MONGODB-AWS auth test matrix - #2145

Open
adelinowona wants to merge 1 commit into
mongodb:mainfrom
adelinowona:csharp6116
Open

adelinowona wants to merge 1 commit into
mongodb:mainfrom
adelinowona:csharp6116

Conversation

@adelinowona

@adelinowona adelinowona commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

The MONGODB-AWS auth tests ran every credential scenario against every server version on three platforms. This PR cuts that to three tasks. Each scenario still runs against latest, 4.4 gets one check as the minimum supported server, and each AWS SDK build the driver can load gets exercised. Replacing the Ubuntu 20.04 cells also fixes the 9.0 and latest Linux failures.

Previous state

20 tasks per commit, all on net6.0:

Platform Host Server versions Tasks Scenarios
Windows windows-2022-latest-small 4.4, 5.0, 6.0, 7.0, 8.0, 9.0, rapid, latest 8 basic + EC2
Linux ubuntu2004-small 6.0, 7.0, 8.0, 9.0, rapid, latest 6 basic + EC2 + ECS + web identity
macOS macos-14 6.0, 7.0, 8.0, 9.0, rapid, latest 6 basic

"Basic" means regular, assume-role, env-var credentials, and env-var credentials with a session token.

  • The Linux 9.0 and latest cells failed on every commit, because there are no Ubuntu 20.04 server builds for those versions.
  • ECS and web identity only run on Linux, so they never ran against 9.0 or latest.
  • Every cell ran net6.0, which loads the AWS SDK's netcoreapp3.1 build. The net472 and net8.0 builds that .NET Framework and .NET 8+ applications load were never tested.

New state

3 tasks per commit:

Variant Host Server Framework (AWS SDK build) Scenarios
aws-auth-tests-windows-minimum-server windows-2022-latest-small 4.4 net472 (net472) basic + EC2
aws-auth-tests-ubuntu-2204 ubuntu2204-small latest net10.0 (net8.0) basic + EC2 + web identity
aws-auth-tests-ubuntu-2404 ubuntu2404-small latest net6.0 (netcoreapp3.1) basic + ECS + web identity

Why three tasks are enough

  • The driver's side doesn't change with server version. The MONGODB-AWS mechanism never checks the server or wire version, and speculative auth is disabled. Getting credentials (env vars, EC2, ECS, web identity) happens between the driver, the AWS SDK and AWS, without the server.
  • The spec doesn't ask for a version matrix. auth/tests/mongodb-aws.md lists the scenarios but sets no server-version, OS or framework requirement. The mechanism is "Since: 4.4".
  • The server-side risk shows up first on latest. For example, the driver rejects a server reply that has an unexpected field, and a server change like that would appear on latest first. The 4.4 cell covers the minimum supported server.
  • macOS added no unique coverage. It ran only the basic scenarios, with the same build that Linux and Windows run.

Accepted gaps:

  • A MONGODB-AWS regression that exists only on a server release branch (for example, a single 8.0.x patch release) won't be caught. That would be a server bug.

@adelinowona adelinowona added the maintenance Non-code maintenance (deps, docs, configs, etc.). label Oct 9, 2026
@adelinowona adelinowona changed the title CSHARP-6116: Right-size the MONGODB-AWS auth test matrix CSHARP-6116: Trim the MONGODB-AWS auth test matrix Oct 9, 2026
@adelinowona
adelinowona marked this pull request as ready for review October 9, 2026 18:02
@adelinowona
adelinowona requested a review from a team as a code owner October 9, 2026 18:02
@adelinowona
adelinowona requested review from BorisDog, ajcvickers and sanych-sun and a balanced review from Copilot and removed request for ajcvickers October 9, 2026 18:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The matrix consistently covers all stated scenarios, supported AWS SDK builds, and the minimum and latest server versions.

0 open findings

What changed in this PR

Trims MONGODB-AWS CI coverage while preserving credential, minimum-server, and AWS SDK target coverage.

Changes:

  • Reduces the matrix from 20 tasks to three targeted variants.
  • Adds Ubuntu 24.04 and framework axes.
  • Applies platform-specific EC2/ECS exclusions.
File Description
evergreen/​evergreen.yml Defines the streamlined AWS authentication matrix and framework selection.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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

maintenance Non-code maintenance (deps, docs, configs, etc.).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants