Merge commit '36bca61764984ff5395653cf8377ec5daa71b709' as 'libs/protobuf'
This commit is contained in:
60
libs/protobuf/kokoro/linux/bazel.sh
Executable file
60
libs/protobuf/kokoro/linux/bazel.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
if [[ -z "${CONTAINER_IMAGE}" ]]; then
|
||||
CONTAINER_IMAGE=gcr.io/protobuf-build/bazel/linux@sha256:2bfd061284eff8234f2fcca16d71d43c69ccf3a22206628b54c204a6a9aac277
|
||||
fi
|
||||
|
||||
cd $(dirname $0)/../..
|
||||
GIT_REPO_ROOT=`pwd`
|
||||
|
||||
ENVS=()
|
||||
|
||||
# Check for specific versions pinned to the docker image. In these cases we
|
||||
# want to forward the environment variable to tests, so that they can verify
|
||||
# that the correct version is being picked up by Bazel.
|
||||
ENVS+=("--test_env=KOKORO_JAVA_VERSION")
|
||||
ENVS+=("--test_env=KOKORO_PYTHON_VERSION")
|
||||
ENVS+=("--test_env=KOKORO_RUBY_VERSION")
|
||||
|
||||
if [ -n "$BAZEL_ENV" ]; then
|
||||
for env in $BAZEL_ENV; do
|
||||
ENVS+="--action_env=${env}"
|
||||
done
|
||||
fi
|
||||
|
||||
function run {
|
||||
local CONFIG=$1
|
||||
local BAZEL_CONFIG=$2
|
||||
|
||||
tmpfile=$(mktemp -u)
|
||||
|
||||
rm -rf $GIT_REPO_ROOT/bazel-out $GIT_REPO_ROOT/bazel-bin
|
||||
rm -rf $GIT_REPO_ROOT/logs
|
||||
|
||||
docker run \
|
||||
--cidfile $tmpfile \
|
||||
--cap-add=SYS_PTRACE \
|
||||
-v $GIT_REPO_ROOT:/workspace \
|
||||
$CONTAINER_IMAGE \
|
||||
test \
|
||||
$(${GIT_REPO_ROOT}/kokoro/common/bazel_flags.sh) \
|
||||
${ENVS[@]} \
|
||||
$PLATFORM_CONFIG \
|
||||
$BAZEL_CONFIG \
|
||||
$BAZEL_EXTRA_FLAGS \
|
||||
$BAZEL_TARGETS
|
||||
|
||||
# Save logs for Kokoro
|
||||
docker cp \
|
||||
`cat $tmpfile`:/workspace/logs $KOKORO_ARTIFACTS_DIR/$CONFIG
|
||||
}
|
||||
|
||||
if [ -n "$BAZEL_CONFIGS" ]; then
|
||||
for config in $BAZEL_CONFIGS; do
|
||||
run $config "--config=$config"
|
||||
done
|
||||
else
|
||||
run
|
||||
fi
|
||||
Reference in New Issue
Block a user