diff --git a/mongo/build.sh b/mongo/build.sh index e9a8ac873c5e5a..19ba1f17f3b1d9 100644 --- a/mongo/build.sh +++ b/mongo/build.sh @@ -4,7 +4,7 @@ set -o errexit set -o verbose if [[ "$OSTYPE" == "linux"* ]]; then - bash mongo/build_linux.sh "$1" "$2" "$3" + 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..520744afd6e9fe 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/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" +fi + "./$3" info "./$3" --version diff --git a/mongo/container_build_rhel7.sh b/mongo/container_build_rhel7.sh new file mode 100755 index 00000000000000..fc9df00b0d4faa --- /dev/null +++ b/mongo/container_build_rhel7.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -o errexit +set -o verbose + +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 './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..4dedcae8f0e91c 100644 --- a/mongo/evergreen.yml +++ b/mongo/evergreen.yml @@ -18,6 +18,7 @@ functions: working_dir: src args: - "mongo/update_expansions.sh" + - "${build_os|default}" - "${version}" - "${ext}" - command: expansions.update @@ -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: + - 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 + 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..aedf5f63fc769c 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 [[ "$1" == "rhel7" ]]; then + os="rhel7" + fi elif [[ "$OSTYPE" == "darwin"* ]]; then os="darwin" else @@ -24,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} +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