Skip to content

Migrate EVG task coverage to latest Debian, Ubuntu, and RHEL distros #2044

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jun 25, 2025

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
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.

]

# 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
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