From 477ab054f1cae7ac9e4a0dbaa48386bdaa6fa23d Mon Sep 17 00:00:00 2001 From: Zac Codiamat Date: Tue, 7 Oct 2025 18:49:31 +0000 Subject: [PATCH 1/6] rhel7 build --- mongo/build.sh | 6 ++++-- mongo/build_linux.sh | 10 ++++++++-- mongo/container_build.sh | 2 +- mongo/container_build_rhel7.sh | 13 +++++++++++++ mongo/evergreen.yml | 14 ++++++++++++++ mongo/update_expansions.sh | 5 ++++- 6 files changed, 44 insertions(+), 6 deletions(-) create mode 100755 mongo/container_build_rhel7.sh diff --git a/mongo/build.sh b/mongo/build.sh index e9a8ac873c5e5a..fe82643ed428bd 100644 --- a/mongo/build.sh +++ b/mongo/build.sh @@ -3,8 +3,10 @@ set -o errexit set -o verbose -if [[ "$OSTYPE" == "linux"* ]]; then - bash mongo/build_linux.sh "$1" "$2" "$3" +if [[ "$4" == "ubi7" ]]; then + bash mongo/container_build_rhel7.sh +elif [[ "$OSTYPE" == "linux"* ]]; then + bash mongo/build_linux.sh "$1" "$2" "$3" "$4" elif [[ "$OSTYPE" == "darwin"* ]]; then bash mongo/build_macos.sh "$1" "$2" "$3" else diff --git a/mongo/build_linux.sh b/mongo/build_linux.sh index c9e6f7674d3531..ef41e783dc5391 100644 --- a/mongo/build_linux.sh +++ b/mongo/build_linux.sh @@ -3,7 +3,13 @@ set -o errexit set -o verbose -podman pull docker.io/redhat/ubi8:8.10-1184 -podman run --mount type=bind,source=$PWD,destination=/tmp/bazel/,rw=true --workdir /tmp/bazel redhat/ubi8:8.10-1184 /tmp/bazel/mongo/container_build.sh "$1" "$2" "$3" +if [[ "$4" == "ubi7" ]]; then + docker pull registry.access.redhat.com/ubi7/ubi:7.9-1445 + docker run --mount type=bind,source=$PWD,destination=/tmp/bazel/ --workdir /tmp/bazel registry.access.redhat.com/ubi7/ubi:7.9-1445 /tmp/bazel/mongo/container_build_rhel7.sh "$1" "$2" "$3" +else + podman pull docker.io/redhat/ubi8:8.10-1184 + podman run --mount type=bind,source=$PWD,destination=/tmp/bazel/,rw=true --workdir /tmp/bazel redhat/ubi8:8.10-1184 /tmp/bazel/mongo/container_build.sh "$1" "$2" "$3" +fi + "./$3" info "./$3" --version diff --git a/mongo/container_build.sh b/mongo/container_build.sh index e2367f22e3906a..2a532bfea3c60e 100755 --- a/mongo/container_build.sh +++ b/mongo/container_build.sh @@ -3,7 +3,7 @@ set -o errexit set -o verbose -yum install -y gcc gcc-c++ python3 zip java-21-openjdk-devel +sudo yum install -y gcc gcc-c++ python3 zip java-21-openjdk-devel curl -L "$1" -o bazel_bootstrap chmod +x ./bazel_bootstrap ./bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel diff --git a/mongo/container_build_rhel7.sh b/mongo/container_build_rhel7.sh new file mode 100755 index 00000000000000..a9be0fe2a0dc15 --- /dev/null +++ b/mongo/container_build_rhel7.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -o errexit +set -o verbose + +sudo yum install -y epel-release +sudo yum install -y gcc gcc-c++ rh-python38-python zip java-21-openjdk-devel devtoolset-7-gcc +scl enable devtoolset-4 +curl -L "$1" -o bazel_bootstrap +chmod +x ./bazel_bootstrap +./bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel +cp bazel-bin/src/bazel "$3" +sha256sum -b "$3" > "${3}.sha256" diff --git a/mongo/evergreen.yml b/mongo/evergreen.yml index e2d2f356287666..088454b9d4f456 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -20,6 +20,7 @@ functions: - "mongo/update_expansions.sh" - "${version}" - "${ext}" + - "${build_os}" - command: expansions.update params: file: src/bazel_expansions.yml @@ -67,6 +68,7 @@ tasks: - "${bazel_url}" - "${bazel_version}" - "${bazel_file_name}" + - "${ubi_version}" - func: "upload binary" - name: push @@ -144,6 +146,18 @@ buildvariants: - name: build - name: push +- name: rhel7_x86_64 + display_name: RHEL7 x86_64 + run_on: + - rhel7.9-large + expansions: + bazel_url: https://github.com/bazelbuild/bazel/releases/download/7.5.0/bazel-7.5.0-linux-x86_64 + ubi_version: ubi7 + build_os: rhel7 + tasks: + - name: build + - name: push + - name: linux_s390x display_name: Linux s390x run_on: diff --git a/mongo/update_expansions.sh b/mongo/update_expansions.sh index a0a8c951ac3ebb..225f3befaedfae 100644 --- a/mongo/update_expansions.sh +++ b/mongo/update_expansions.sh @@ -5,6 +5,9 @@ set -o verbose if [[ "$OSTYPE" == "linux"* ]]; then os="linux" + if [[ "$3" == "rhel7" ]]; then + os="rhel7" + fi elif [[ "$OSTYPE" == "darwin"* ]]; then os="darwin" else @@ -26,7 +29,7 @@ bazel_short_git=$(git rev-parse --short HEAD) bazel_version=$1-mongo_$bazel_short_git -bazel_file_name=bazel-$bazel_version-$os-${ARCH}${2} +bazel_file_name=bazel-$bazel_version-$os-${ARCH}${2}-test echo "bazel_version: $bazel_version" > bazel_expansions.yml echo "bazel_file_name: $bazel_file_name" >> bazel_expansions.yml From bb75be0086d07ee4c9f8a79d470a2a5c81904861 Mon Sep 17 00:00:00 2001 From: Zac Codiamat Date: Wed, 8 Oct 2025 15:20:08 +0000 Subject: [PATCH 2/6] containerized --- mongo/build.sh | 4 +--- mongo/build_linux.sh | 4 ++-- mongo/container_build_rhel7.sh | 7 +++---- mongo/evergreen.yml | 2 +- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/mongo/build.sh b/mongo/build.sh index fe82643ed428bd..19ba1f17f3b1d9 100644 --- a/mongo/build.sh +++ b/mongo/build.sh @@ -3,9 +3,7 @@ set -o errexit set -o verbose -if [[ "$4" == "ubi7" ]]; then - bash mongo/container_build_rhel7.sh -elif [[ "$OSTYPE" == "linux"* ]]; then +if [[ "$OSTYPE" == "linux"* ]]; then bash mongo/build_linux.sh "$1" "$2" "$3" "$4" elif [[ "$OSTYPE" == "darwin"* ]]; then bash mongo/build_macos.sh "$1" "$2" "$3" diff --git a/mongo/build_linux.sh b/mongo/build_linux.sh index ef41e783dc5391..520744afd6e9fe 100644 --- a/mongo/build_linux.sh +++ b/mongo/build_linux.sh @@ -4,8 +4,8 @@ set -o errexit set -o verbose if [[ "$4" == "ubi7" ]]; then - docker pull registry.access.redhat.com/ubi7/ubi:7.9-1445 - docker run --mount type=bind,source=$PWD,destination=/tmp/bazel/ --workdir /tmp/bazel registry.access.redhat.com/ubi7/ubi:7.9-1445 /tmp/bazel/mongo/container_build_rhel7.sh "$1" "$2" "$3" + docker pull registry.access.redhat.com/rhscl/devtoolset-7-toolchain-rhel7 + docker run --user root --mount type=bind,source=$PWD,destination=/tmp/bazel/ --workdir /tmp/bazel registry.access.redhat.com/rhscl/devtoolset-7-toolchain-rhel7 /tmp/bazel/mongo/container_build_rhel7.sh "$1" "$2" "$3" else podman pull docker.io/redhat/ubi8:8.10-1184 podman run --mount type=bind,source=$PWD,destination=/tmp/bazel/,rw=true --workdir /tmp/bazel redhat/ubi8:8.10-1184 /tmp/bazel/mongo/container_build.sh "$1" "$2" "$3" diff --git a/mongo/container_build_rhel7.sh b/mongo/container_build_rhel7.sh index a9be0fe2a0dc15..bf9df301041e6e 100755 --- a/mongo/container_build_rhel7.sh +++ b/mongo/container_build_rhel7.sh @@ -3,11 +3,10 @@ set -o errexit set -o verbose -sudo yum install -y epel-release -sudo yum install -y gcc gcc-c++ rh-python38-python zip java-21-openjdk-devel devtoolset-7-gcc -scl enable devtoolset-4 +yum install -y rh-python36 zip unzip +export CC=$(which gcc) curl -L "$1" -o bazel_bootstrap chmod +x ./bazel_bootstrap -./bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel +scl enable rh-python36 devtoolset-7 './bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel' cp bazel-bin/src/bazel "$3" sha256sum -b "$3" > "${3}.sha256" diff --git a/mongo/evergreen.yml b/mongo/evergreen.yml index 088454b9d4f456..a90c6e5337d4af 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -149,7 +149,7 @@ buildvariants: - name: rhel7_x86_64 display_name: RHEL7 x86_64 run_on: - - rhel7.9-large + - ubuntu2204-large expansions: bazel_url: https://github.com/bazelbuild/bazel/releases/download/7.5.0/bazel-7.5.0-linux-x86_64 ubi_version: ubi7 From b085f18a93d8201035bca26a11e4c4ea5a2a7e43 Mon Sep 17 00:00:00 2001 From: Zac Codiamat Date: Wed, 8 Oct 2025 22:36:48 +0000 Subject: [PATCH 3/6] remove sudo --- mongo/container_build.sh | 2 +- mongo/container_build_rhel7.sh | 2 +- mongo/evergreen.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mongo/container_build.sh b/mongo/container_build.sh index 2a532bfea3c60e..e2367f22e3906a 100755 --- a/mongo/container_build.sh +++ b/mongo/container_build.sh @@ -3,7 +3,7 @@ set -o errexit set -o verbose -sudo yum install -y gcc gcc-c++ python3 zip java-21-openjdk-devel +yum install -y gcc gcc-c++ python3 zip java-21-openjdk-devel curl -L "$1" -o bazel_bootstrap chmod +x ./bazel_bootstrap ./bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel diff --git a/mongo/container_build_rhel7.sh b/mongo/container_build_rhel7.sh index bf9df301041e6e..fc9df00b0d4faa 100755 --- a/mongo/container_build_rhel7.sh +++ b/mongo/container_build_rhel7.sh @@ -7,6 +7,6 @@ yum install -y rh-python36 zip unzip export CC=$(which gcc) curl -L "$1" -o bazel_bootstrap chmod +x ./bazel_bootstrap -scl enable rh-python36 devtoolset-7 './bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel' +scl enable rh-python36 './bazel_bootstrap build --compilation_mode=opt --subcommands --verbose_failures --stamp --embed_label=$2 //src:bazel' cp bazel-bin/src/bazel "$3" sha256sum -b "$3" > "${3}.sha256" diff --git a/mongo/evergreen.yml b/mongo/evergreen.yml index a90c6e5337d4af..81e2a493bd0aec 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -72,7 +72,7 @@ tasks: - func: "upload binary" - name: push - patchable: false + patchable: true depends_on: - name: build commands: From 999b093fbd557cd00a49b90e16081c560e748420 Mon Sep 17 00:00:00 2001 From: Zac Codiamat Date: Wed, 8 Oct 2025 22:48:34 +0000 Subject: [PATCH 4/6] fix build_os --- mongo/evergreen.yml | 2 +- mongo/update_expansions.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mongo/evergreen.yml b/mongo/evergreen.yml index 81e2a493bd0aec..982f53882eeee7 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -18,9 +18,9 @@ functions: working_dir: src args: - "mongo/update_expansions.sh" + - "${build_os}" - "${version}" - "${ext}" - - "${build_os}" - command: expansions.update params: file: src/bazel_expansions.yml diff --git a/mongo/update_expansions.sh b/mongo/update_expansions.sh index 225f3befaedfae..f96bac8f0ec509 100644 --- a/mongo/update_expansions.sh +++ b/mongo/update_expansions.sh @@ -5,7 +5,7 @@ set -o verbose if [[ "$OSTYPE" == "linux"* ]]; then os="linux" - if [[ "$3" == "rhel7" ]]; then + if [[ "$1" == "rhel7" ]]; then os="rhel7" fi elif [[ "$OSTYPE" == "darwin"* ]]; then @@ -27,9 +27,9 @@ fi bazel_short_git=$(git rev-parse --short HEAD) -bazel_version=$1-mongo_$bazel_short_git +bazel_version=$2-mongo_$bazel_short_git -bazel_file_name=bazel-$bazel_version-$os-${ARCH}${2}-test +bazel_file_name=bazel-$bazel_version-$os-${ARCH}${3}-test echo "bazel_version: $bazel_version" > bazel_expansions.yml echo "bazel_file_name: $bazel_file_name" >> bazel_expansions.yml From 3f749c73503a6f189fe8ffac140476478fad9a16 Mon Sep 17 00:00:00 2001 From: Zac Codiamat Date: Wed, 8 Oct 2025 22:56:11 +0000 Subject: [PATCH 5/6] rm test push --- mongo/evergreen.yml | 2 +- mongo/update_expansions.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mongo/evergreen.yml b/mongo/evergreen.yml index 982f53882eeee7..c2e7669e18bb5e 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -72,7 +72,7 @@ tasks: - func: "upload binary" - name: push - patchable: true + patchable: false depends_on: - name: build commands: diff --git a/mongo/update_expansions.sh b/mongo/update_expansions.sh index f96bac8f0ec509..aedf5f63fc769c 100644 --- a/mongo/update_expansions.sh +++ b/mongo/update_expansions.sh @@ -29,7 +29,7 @@ bazel_short_git=$(git rev-parse --short HEAD) bazel_version=$2-mongo_$bazel_short_git -bazel_file_name=bazel-$bazel_version-$os-${ARCH}${3}-test +bazel_file_name=bazel-$bazel_version-$os-${ARCH}${3} echo "bazel_version: $bazel_version" > bazel_expansions.yml echo "bazel_file_name: $bazel_file_name" >> bazel_expansions.yml From f4c55fc899ee666a7a4ce87b7bb7305dbfca2939 Mon Sep 17 00:00:00 2001 From: Zac Codiamat Date: Thu, 9 Oct 2025 16:55:57 +0000 Subject: [PATCH 6/6] default fallback value --- mongo/evergreen.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mongo/evergreen.yml b/mongo/evergreen.yml index c2e7669e18bb5e..4dedcae8f0e91c 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -18,7 +18,7 @@ functions: working_dir: src args: - "mongo/update_expansions.sh" - - "${build_os}" + - "${build_os|default}" - "${version}" - "${ext}" - command: expansions.update