Skip to content

Conversation

@eramongodb
Copy link
Contributor

Resolves CDRIVER-5873 and CDRIVER-5874.

Followup to several PRs such as #1760 and #1839. Applies similar changes to those in mongodb/mongo-cxx-driver#1328.

Summary of changes include:


Support for Debian 9 and Debian 10 were deprecated in #1839. This PR applies the followup removal from the EVG config, as both distros are EOL. For every task matrix where either distro is removed, an equivalent replacement is added for debian11 and debian12, e.g. a "compile with GCC on Debian 9" task now has a "compile with GCC on Debian 12" equivalent task. This is to preserve basic OS-specific coverage.

Most x86_64 server version coverage tasks are moved onto the rhel8-latest distro similar to how rhel80 is used as the primary x86_64 distro in mongodb/mongo-cxx-driver#1328. This allows for wider coverage of server versions with fewer special-casing. Similar distro selection improvements for other architectures (i.e. for arm64, which is likely to be move to amazon2023-latest distro rather than an ubuntu*-arm64 distro) is deferred for now.


As a drive-by improvement(?), the following comment is (re)applied with better accuracy:

# Test 7.0+ with a replica set since Queryable Encryption does not support the 'server' topology. Queryable Encryption tests require 7.0+.

CSE tasks running with server 7.0+ no longer include the single topology. Instead, the single topology is only tested with server versions 4.2 through 6.0. This can be reverted if preferable.

@eramongodb eramongodb requested a review from kevinAlbs June 23, 2025 21:59
@eramongodb eramongodb self-assigned this Jun 23, 2025
@eramongodb eramongodb marked this pull request as ready for review June 23, 2025 21:59
@eramongodb eramongodb requested a review from a team as a code owner June 23, 2025 21:59
@codeowners-service-app
Copy link

codeowners-service-app bot commented Jun 24, 2025

Assigned bisht2050 for team dbx-c-cxx because kevinAlbs is out of office.
Assigned bisht2050 for team dbx-c-cxx because kevinAlbs is out of office.

@eramongodb eramongodb removed the request for review from bisht2050 June 24, 2025 14:19
@eramongodb eramongodb requested a review from kevinAlbs June 24, 2025 17:46
@kevinAlbs kevinAlbs removed the request for review from bisht2050 June 25, 2025 13:31
Copy link
Collaborator

@kevinAlbs kevinAlbs left a comment

Choose a reason for hiding this comment

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

The test matrix organization improvements are much appreciated. LGTM with a tweak to the CSFLE/QE matrices.

('rhel8-latest', 'clang', None, ['cyrus']),
]

# Tests for Queryable Encryption (6.0+), which does not support the single server topology, are skipped with 7.0+.
Copy link
Collaborator

@kevinAlbs kevinAlbs Jun 25, 2025

Choose a reason for hiding this comment

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

Suggest consolidating and revising comment:

# Client-Side Field-Level Encryption requires server 4.2+. Queryable Encryption requires server 7.0+ and is skipped on the single server topology.
TEST_MATRIX = [
    # rhel8-latest provides 4.2 through latest.
    ('rhel8-latest', 'clang', None, 'cyrus', ['auth'], ['server', 'replica'], ['4.2', '4.4', '5.0', '6.0', '7.0', '8.0', 'latest']),
]

]

# TODO (CDRIVER-3789): test cse with the 'sharded' topology.
# Tests for Queryable Encryption (6.0+), which does not support the single server topology, are skipped with 7.0+.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggest consolidating and revising comment:

# Client-Side Field-Level Encryption requires server 4.2+. Queryable Encryption requires server 7.0+ and is skipped on the single server topology.
TEST_MATRIX = [
    # rhel8-latest provides 4.2+.
    ('rhel8-latest', 'gcc', None, 'cyrus', ['auth'], ['server', 'replica'], ['4.2', '4.4', '5.0', '6.0', '7.0', '8.0', 'latest']),

    # windows-vsCurrent provides 4.2+.
    ('windows-vsCurrent', 'vs2017x64', None, 'cyrus', ['auth'], ['server', 'replica'], ['4.2', '4.4', '5.0', '6.0', '7.0', '8.0', 'latest']),

    # ubuntu2004-arm64 provides 4.4+.
    ('ubuntu2004-arm64', 'gcc', None, 'cyrus', ['auth'], ['server', 'replica'], ['4.4', '5.0', '6.0', '7.0', '8.0', 'latest']),

    # rhel8-zseries provides 5.0+.
    ('rhel8-zseries', 'gcc', None, 'cyrus', ['auth'], ['server', 'replica'], ['5.0', '6.0', '7.0', '8.0', 'latest']),
]

@eramongodb eramongodb merged commit 9e3d203 into mongodb:master Jun 25, 2025
37 of 39 checks passed
@eramongodb eramongodb deleted the cdriver-evg-distros branch June 25, 2025 18:53
eramongodb added a commit to eramongodb/mongo-c-driver that referenced this pull request Jul 30, 2025
…ongodb#2044)

* CDRIVER-5873 Drop Debian 9
* CDRIVER-5874 Drop Debian 10
* Tidy up distros.py
* Extend Ubuntu/Debian task coverage to latest releases
* Migrate primary server coverage tasks to latest RHEL distros
* Simplify matrices and update CSFLE vs. QE comments
eramongodb added a commit to eramongodb/mongo-c-driver that referenced this pull request Jul 30, 2025
…ongodb#2044)

* CDRIVER-5873 Drop Debian 9
* CDRIVER-5874 Drop Debian 10
* Tidy up distros.py
* Extend Ubuntu/Debian task coverage to latest releases
* Migrate primary server coverage tasks to latest RHEL distros
* Simplify matrices and update CSFLE vs. QE comments
eramongodb added a commit that referenced this pull request Jul 31, 2025
* CDRIVER-5891 address implicit bool-to-null conversion in return statements (#1888)
* CDRIVER-5891 extend C standard coverage up to C23 (#1890)
* CDRIVER-5959 sync change streams unified spec tests with 0aee4aad  (#1971)
* CDRIVER-5304 set cluster time in test sessions (#2008)
* Ignore -Wpre-c11-compat warnings when building public-header-warnings (#2027)
* CDRIVER-6042 Migrate Python scripts from Poetry to Astral UV (#2039)
* Migrate EVG task coverage to latest Debian, Ubuntu, and RHEL distros (#2044)
* CDRIVER-6010 use `ec2.assume_role` for Azure KMS task (#2051)
* CDRIVER-5971 Use Amazon ECR to obtain OCI images in EVG (#2058)
* update Earthly version from 0.8.3 to 0.8.16 (#2072)

---------

Co-authored-by: Kevin Albertson <[email protected]>
eramongodb added a commit to eramongodb/mongo-c-driver that referenced this pull request Jul 31, 2025
…ongodb#2044)

* CDRIVER-5873 Drop Debian 9
* CDRIVER-5874 Drop Debian 10
* Tidy up distros.py
* Extend Ubuntu/Debian task coverage to latest releases
* Migrate primary server coverage tasks to latest RHEL distros
* Simplify matrices and update CSFLE vs. QE comments
eramongodb added a commit that referenced this pull request Jul 31, 2025
* CDRIVER-5959 temporarily restrict updateDescription tests to 8.1 or older (#1970)
* CDRIVER-5959 sync change streams unified spec tests with 0aee4aad  (#1971)
* CDRIVER-5304 set cluster time in test sessions (#2008)
* CDRIVER-6010 use `ec2.assume_role` for mongohouse task (#2025)
* Ignore -Wpre-c11-compat warnings when building public-header-warnings (#2027)
* CDRIVER-6042 Migrate Python scripts from Poetry to Astral UV (#2039)
* Migrate EVG task coverage to latest Debian, Ubuntu, and RHEL distros (#2044)
* CDRIVER-6010 use `ec2.assume_role` for Azure KMS task (#2051)
* CDRIVER-5971 Use Amazon ECR to obtain OCI images in EVG (#2058)
* CDRIVER-5874 Drop Debian 10 EVG task coverage (#2062)
* update Earthly version from 0.8.3 to 0.8.16 (#2072)

---------

Co-authored-by: Kevin Albertson <[email protected]>
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