-
Notifications
You must be signed in to change notification settings - Fork 455
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
Conversation
Assigned |
There was a problem hiding this 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+. |
There was a problem hiding this comment.
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+. |
There was a problem hiding this comment.
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']),
]
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:
debian9
anddebian10
, replacing with equivalents ondebian11
anddebian12
when not already present.ubuntu2004
with equivalents onubuntu2204
andubuntu2404
when not already present.rhel8-latest
distro (analogous torhel80
in CXX-2665 audit and refactor EVG matrices to use supported distros and extended coverage mongo-cxx-driver#1328) per EVG Distro Guidelines.distros.py
by removing unused distros.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
anddebian12
, 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 howrhel80
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 toamazon2023-latest
distro rather than anubuntu*-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.