Skip to content
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

CDRIVER-4602 switch to supported build hosts #1760

Merged
merged 12 commits into from
Oct 16, 2024

Conversation

joshbsiegel
Copy link
Contributor

@joshbsiegel joshbsiegel commented Oct 9, 2024

Description

This PR removes unsupported Evergreen platforms and adds two new environments to build on in Earthly.

Background

See CDRIVER-4602. Along with the two platforms explicitly mentioned in the ticket, other unsupported variants were also removed/upgraded from our CI according to this wiki page.

Earthly

Ubuntu <= 18.04 and RHEL <= 7.2 were both removed from our CI pipeline in this PR. However, these are both platforms supported by the C driver, so it was necessary to continue to check that the driver can be built successfully. To achieve this, Earthly was used to spawn the older versions of these OSes (CentOS used for RHEL) and confirm that things still run smoothly.

Due to GCC and Clang issues on Ubuntu 16.04 and CentOS 7, the C++ driver is not compiled with the C driver in Earthly as part of the test. The Clang and GCC versions in those environment are too old to support library features used in the C++ driver such as string_view.

abi-compliance-check

The abi-compliance-check task previously ran on an unsupported Ubuntu 18.04 platform. A simple upgrade was made for the task to now run on Ubuntu 20.04. However, this Evergreen variant did not have the abi-compliance-checker tool installed on the system. To fix this, a routine was pulled from the C++ driver to install the tool before running the task.

Windows Distros

All of the windows-64-* distros are technically unsupported by Evergreen. I chose to not remove them from our CI in this PR as I was worried about not being able to get those environments working in Earthly in a timely manner (different compiler could cause issues?). It might be a good idea to move this task to a separate ticket.

What's New

  • Removed/updated distros in various config_generator files and distros.py
  • Regenerated Evergreen config files
  • Script to download abi-compliance-checker prior to correlated task
  • CentOS 7 and Ubuntu 16.04 support in Earthly

@joshbsiegel joshbsiegel marked this pull request as draft October 9, 2024 20:21
@joshbsiegel joshbsiegel changed the title WIP: CDRIVER-4602 CDRIVER-4602 switch to supported build hosts Oct 10, 2024
@joshbsiegel
Copy link
Contributor Author

The failing kms-divergence-check test will be fixed once this branch is merged into master. Divergence is due to this change.

@joshbsiegel
Copy link
Contributor Author

I'm sure I can find time in my next rotation to review comments, so no rush on the reviews.

@joshbsiegel joshbsiegel marked this pull request as ready for review October 10, 2024 20:39
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.

Fantastic work. Only substantial comment is a request to test 4.2 servers on Linux.

@joshbsiegel joshbsiegel requested a review from kevinAlbs October 11, 2024 20:36
@kevinAlbs kevinAlbs removed the request for review from vector-of-bool October 16, 2024 16:46
@joshbsiegel joshbsiegel merged commit 43457ca into mongodb:master Oct 16, 2024
45 of 47 checks passed
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