Skip to content

Update Earthfile to use uvx cmake #2083

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

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 11 additions & 23 deletions .evergreen/config_generator/components/earthly.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,15 @@


EnvKey = Literal[
"u16",
"u18",
"u20",
"u22",
"alpine3.16",
"alpine3.17",
"alpine3.18",
"alpine3.19",
"alpine3.20",
"alpine3.21",
"alpine3.22",
"archlinux",
"centos7",
"centos9",
"centos10",
]
"Identifiers for environments. These correspond to special 'env.*' targets in the Earthfile."
CompilerName = Literal["gcc", "clang"]
Expand Down Expand Up @@ -65,12 +64,11 @@ def os_split(env: EnvKey) -> tuple[str, None | str]:
# Match 'u22', 'u20', 'u71' etc.
case ubu if mat := re.match(r"u(\d\d)", ubu):
return "Ubuntu", f"{mat[1]}.04"
case "centos7":
return "CentOS", "7.0"
# Match 'centos9', 'centos10', etc.
case cent if mat := re.match(r"centos(\d+)", cent):
return "CentOS", f"{mat[1]}"
case _:
raise ValueError(
f"Failed to split OS env key {env=} into a name+version pair (unrecognized)"
)
raise ValueError(f"Failed to split OS env key {env=} into a name+version pair (unrecognized)")


class EarthlyVariant(NamedTuple):
Expand Down Expand Up @@ -152,12 +150,8 @@ class DockerLoginAmazonECR(Function):
name = "docker-login-amazon-ecr"
commands = [
# Avoid inadvertently using a pre-existing and potentially conflicting Docker config.
expansions_update(
updates=[KeyValueParam(key="DOCKER_CONFIG", value="${workdir}/.docker")]
),
ec2_assume_role(
role_arn="arn:aws:iam::901841024863:role/ecr-role-evergreen-ro"
),
expansions_update(updates=[KeyValueParam(key="DOCKER_CONFIG", value="${workdir}/.docker")]),
ec2_assume_role(role_arn="arn:aws:iam::901841024863:role/ecr-role-evergreen-ro"),
subprocess_exec(
binary="bash",
command_type=EvgCommandType.SETUP,
Expand All @@ -181,12 +175,6 @@ def task_filter(env: EarthlyVariant, conf: Configuration) -> bool:
configuration values.
"""
match env, conf:
# u16/u18/centos7 are not capable of building mongocxx
case e, (_sasl, _tls, cxx) if re.match(
r"^Ubuntu 16|^Ubuntu 18|^CentOS 7", e.display_name
):
# Only build if C++ driver is test is disabled
return cxx == "none"
# Anything else: Allow it to run:
case _:
return True
Expand Down
24 changes: 12 additions & 12 deletions .evergreen/generated_configs/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1131,7 +1131,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1174,7 +1174,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, centos7-clang, centos7-gcc, u16-clang, u16-gcc, u18-clang, u18-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1217,7 +1217,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1260,7 +1260,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1303,7 +1303,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, centos7-clang, centos7-gcc, u16-clang, u16-gcc, u18-clang, u18-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1346,7 +1346,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1389,7 +1389,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1432,7 +1432,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, centos7-clang, centos7-gcc, u16-clang, u16-gcc, u18-clang, u18-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1475,7 +1475,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1518,7 +1518,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1561,7 +1561,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, centos7-clang, centos7-gcc, u16-clang, u16-gcc, u18-clang, u18-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down Expand Up @@ -1604,7 +1604,7 @@ tasks:
- debian12-large
- ubuntu2204-large
- ubuntu2404-large
tags: [earthly, pr-merge-gate, alpine3.16-clang, alpine3.16-gcc, alpine3.17-clang, alpine3.17-gcc, alpine3.18-clang, alpine3.18-gcc, alpine3.19-clang, alpine3.19-gcc, archlinux-clang, archlinux-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
tags: [earthly, pr-merge-gate, alpine3.19-clang, alpine3.19-gcc, alpine3.20-clang, alpine3.20-gcc, alpine3.21-clang, alpine3.21-gcc, alpine3.22-clang, alpine3.22-gcc, archlinux-clang, archlinux-gcc, centos10-clang, centos10-gcc, centos9-clang, centos9-gcc, u20-clang, u20-gcc, u22-clang, u22-gcc]
commands:
- func: docker-login-amazon-ecr
- command: subprocess.exec
Expand Down
122 changes: 54 additions & 68 deletions .evergreen/generated_configs/variants.yml
Original file line number Diff line number Diff line change
@@ -1,60 +1,60 @@
buildvariants:
- name: alpine3.16-clang
display_name: Alpine 3.16 (LLVM/Clang)
- name: alpine3.19-clang
display_name: Alpine 3.19 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: alpine3.16
MONGOC_EARTHLY_ENV: alpine3.19
tasks:
- name: .alpine3.16-clang
- name: alpine3.16-gcc
display_name: Alpine 3.16 (GCC)
- name: .alpine3.19-clang
- name: alpine3.19-gcc
display_name: Alpine 3.19 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: alpine3.16
MONGOC_EARTHLY_ENV: alpine3.19
tasks:
- name: .alpine3.16-gcc
- name: alpine3.17-clang
display_name: Alpine 3.17 (LLVM/Clang)
- name: .alpine3.19-gcc
- name: alpine3.20-clang
display_name: Alpine 3.20 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: alpine3.17
MONGOC_EARTHLY_ENV: alpine3.20
tasks:
- name: .alpine3.17-clang
- name: alpine3.17-gcc
display_name: Alpine 3.17 (GCC)
- name: .alpine3.20-clang
- name: alpine3.20-gcc
display_name: Alpine 3.20 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: alpine3.17
MONGOC_EARTHLY_ENV: alpine3.20
tasks:
- name: .alpine3.17-gcc
- name: alpine3.18-clang
display_name: Alpine 3.18 (LLVM/Clang)
- name: .alpine3.20-gcc
- name: alpine3.21-clang
display_name: Alpine 3.21 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: alpine3.18
MONGOC_EARTHLY_ENV: alpine3.21
tasks:
- name: .alpine3.18-clang
- name: alpine3.18-gcc
display_name: Alpine 3.18 (GCC)
- name: .alpine3.21-clang
- name: alpine3.21-gcc
display_name: Alpine 3.21 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: alpine3.18
MONGOC_EARTHLY_ENV: alpine3.21
tasks:
- name: .alpine3.18-gcc
- name: alpine3.19-clang
display_name: Alpine 3.19 (LLVM/Clang)
- name: .alpine3.21-gcc
- name: alpine3.22-clang
display_name: Alpine 3.22 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: alpine3.19
MONGOC_EARTHLY_ENV: alpine3.22
tasks:
- name: .alpine3.19-clang
- name: alpine3.19-gcc
display_name: Alpine 3.19 (GCC)
- name: .alpine3.22-clang
- name: alpine3.22-gcc
display_name: Alpine 3.22 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: alpine3.19
MONGOC_EARTHLY_ENV: alpine3.22
tasks:
- name: .alpine3.19-gcc
- name: .alpine3.22-gcc
- name: archlinux-clang
display_name: ArchLinux (LLVM/Clang)
expansions:
Expand All @@ -69,20 +69,34 @@ buildvariants:
MONGOC_EARTHLY_ENV: archlinux
tasks:
- name: .archlinux-gcc
- name: centos7-clang
display_name: CentOS 7.0 (LLVM/Clang)
- name: centos10-clang
display_name: CentOS 10 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: centos10
tasks:
- name: .centos10-clang
- name: centos10-gcc
display_name: CentOS 10 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: centos10
tasks:
- name: .centos10-gcc
- name: centos9-clang
display_name: CentOS 9 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: centos7
MONGOC_EARTHLY_ENV: centos9
tasks:
- name: .centos7-clang
- name: centos7-gcc
display_name: CentOS 7.0 (GCC)
- name: .centos9-clang
- name: centos9-gcc
display_name: CentOS 9 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: centos7
MONGOC_EARTHLY_ENV: centos9
tasks:
- name: .centos7-gcc
- name: .centos9-gcc
- name: clang-format
display_name: clang-format
run_on:
Expand Down Expand Up @@ -305,34 +319,6 @@ buildvariants:
display_name: std-matrix
tasks:
- name: .std-matrix
- name: u16-clang
display_name: Ubuntu 16.04 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: u16
tasks:
- name: .u16-clang
- name: u16-gcc
display_name: Ubuntu 16.04 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: u16
tasks:
- name: .u16-gcc
- name: u18-clang
display_name: Ubuntu 18.04 (LLVM/Clang)
expansions:
MONGOC_EARTHLY_C_COMPILER: clang
MONGOC_EARTHLY_ENV: u18
tasks:
- name: .u18-clang
- name: u18-gcc
display_name: Ubuntu 18.04 (GCC)
expansions:
MONGOC_EARTHLY_C_COMPILER: gcc
MONGOC_EARTHLY_ENV: u18
tasks:
- name: .u18-gcc
- name: u20-clang
display_name: Ubuntu 20.04 (LLVM/Clang)
expansions:
Expand Down
8 changes: 0 additions & 8 deletions .evergreen/scripts/cmake.sh

This file was deleted.

Loading