Skip to content

Migrate Earthly environments to newer supported distro images#1148

Open
eramongodb wants to merge 20 commits intomongodb:masterfrom
eramongodb:crypt-earthly
Open

Migrate Earthly environments to newer supported distro images#1148
eramongodb wants to merge 20 commits intomongodb:masterfrom
eramongodb:crypt-earthly

Conversation

@eramongodb
Copy link
Copy Markdown
Contributor

@eramongodb eramongodb commented Apr 17, 2026

Motivated by MONGOCRYPT-872, where uv requires environments to support Python 3.8 or newer. This revealed various EOL distros in the Earthfile which can/should be removed in favor of newer versions. As a drive-by improvement, the Earthfile version is bumped from 0.6 to 0.8 (requiring COMMAND -> FUNCTION), removing the need for several feature flags.

  • Replaced Alpine 3.18 (EOL: May 2025) with 3.23 (latest).
  • Centos 6 and 7 are replaced with CentOS Stream 9 and 10. See prior discussion.
  • RockyLinux 8 is replaced with AlmaLinux 8 for better consistency with the C Driver's own Earthfile. See prior discussion.
  • Ubuntu 14.04 (EOL: 2021) and 16.04 (EOL: 2023) are removed. If we exclude Expanded Security Maintenance (ESM) (which is more consistent with DevProd's support policy), 18.04 and 20.04 can/should be dropped as well. Added Ubuntu 24.04 (latest) coverage in their place.
    • Update: per feedback, also removed Ubuntu 18.04 and 20.04.
  • Debian 9 (EOL: 2022) and 10 (EOL: 2024) are removed. Debian 13 (latest) was already added by 5a33cd5.
  • Removed OpenSUSE Leap 15.0. It does not appear to be used or required by anything.

The debian9-arm64-earthly and debian10-arm64-earthly EVG tasks are removed accordingly. I do not expect the packages published by these tasks are (or should be) still in use. The remaining EVG tasks are also migrated from Ubuntu 20.04 distros to run on Ubuntu 24.04 distros instead.

@eramongodb eramongodb self-assigned this Apr 17, 2026
@eramongodb eramongodb requested a review from a team as a code owner April 17, 2026 14:59
Copy link
Copy Markdown
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.

Changes look good with a tweak to the README and CHANGELOG.

18.04 and 20.04 can/should be dropped as well

I support dropping in the Earthfile. I do not expect the Earthly targets for Ubuntu 18.04 and 20.04 impact downstream drivers.

Comment thread .evergreen/config.yml
Comment thread Earthfile
Copy link
Copy Markdown
Contributor Author

@eramongodb eramongodb left a comment

Choose a reason for hiding this comment

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

Ubuntu 18.04 and 20.04 have also been removed.

Comment thread .evergreen/config.yml
Comment thread Earthfile
@eramongodb eramongodb requested a review from kevinAlbs April 17, 2026 17:05
@eramongodb
Copy link
Copy Markdown
Contributor Author

Given this PR already removes some Earthly-related EVG tasks due to EOL distros, opted to also migrate the remaining Earthly-related EVG tasks from Ubuntu 20.04 to run on the latest Ubuntu 24.04 distros instead.

Copy link
Copy Markdown
Contributor

@vector-of-bool vector-of-bool left a comment

Choose a reason for hiding this comment

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

LGTM with one minor comment

Comment thread Earthfile Outdated
FROM +init --base=quay.io/centos/centos:stream10
DO +REDHAT_SETUP

env.rl8:
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.

Should probably rename from rl8 to reflect the distro change

@eramongodb
Copy link
Copy Markdown
Contributor Author

eramongodb commented Apr 17, 2026

Overlooked migration of the Amazon Linux environments in Earthly.

  • Amazon Linux 2 (amzn2) will be EOL in June 2026 (note: not to be confused with the 20YY versioning scheme; it is its own release dated June 2018), but the environment only supports up to Python 3.7 (too old for uv).
  • Amazon Linux 2018 (amzn1) is EOL since Dec 2023.

Replaced both with Amazon Linux 2023 (latest), whose environment supports Python 3.9+.

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.

4 participants