mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.3 KiB
61 lines
2.3 KiB
2 years ago
|
#!/bin/bash
|
||
|
# Copyright 2023 The gRPC Authors
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
# Generate linux RBE configs using rbe_configs_gen.
|
||
|
# See https://github.com/bazelbuild/bazel-toolchains#rbe_configs_gen---cli-tool-to-generate-configs
|
||
|
|
||
|
set -ex
|
||
|
|
||
|
cd $(dirname $0)/../..
|
||
|
|
||
|
REPO_ROOT="$(pwd)"
|
||
|
|
||
|
TEMP_DIR="$(mktemp -d)"
|
||
|
pushd "${TEMP_DIR}"
|
||
|
# Build the "rbe_configs_gen" binary using the official instructions.
|
||
|
git clone https://github.com/bazelbuild/bazel-toolchains.git
|
||
|
cd bazel-toolchains
|
||
|
# Build "rbe_configs_gen" binary under docker and put it to the current directory.
|
||
|
docker run --rm -v $PWD:/srcdir -w /srcdir golang:1.16 go build -o rbe_configs_gen ./cmd/rbe_configs_gen/rbe_configs_gen.go
|
||
|
popd
|
||
|
|
||
|
# location of the "rbe_config_gen" binary as build by the previous step.
|
||
|
RBE_CONFIGS_GEN_TOOL_PATH="${TEMP_DIR}/bazel-toolchains/rbe_configs_gen"
|
||
|
|
||
|
# the container under which RBE actions will run
|
||
|
LINUX_RBE_DOCKER_IMAGE=l.gcr.io/google/rbe-ubuntu18-04@sha256:48b67b41118dbcdfc265e7335f454fbefa62681ab8d47200971fc7a52fb32054
|
||
|
|
||
|
# Bazel version used for configuring
|
||
|
# Needs to be one of the versions from bazel/supported_versions.txt chosen so that the result is compatible
|
||
|
# with other supported bazel versions.
|
||
|
BAZEL_VERSION=5.4.0
|
||
|
|
||
|
# TODO(jtattermusch): experiment with --cpp_env_json to simplify bazel build configuration.
|
||
|
|
||
|
# Where to store the generated configs (relative to repo root)
|
||
|
CONFIG_OUTPUT_PATH=third_party/toolchains/rbe_ubuntu1804
|
||
|
|
||
|
# Delete old generated configs.
|
||
|
rm -rf "${REPO_ROOT}/${CONFIG_OUTPUT_PATH}"
|
||
|
|
||
|
${RBE_CONFIGS_GEN_TOOL_PATH} \
|
||
|
--bazel_version="${BAZEL_VERSION}" \
|
||
|
--toolchain_container="${LINUX_RBE_DOCKER_IMAGE}" \
|
||
|
--output_src_root="${REPO_ROOT}" \
|
||
|
--output_config_path="${CONFIG_OUTPUT_PATH}" \
|
||
|
--exec_os=linux \
|
||
|
--target_os=linux \
|
||
|
--generate_java_configs=false
|