ADD: added new version of protobuf
This commit is contained in:
87
libs/protobuf/kokoro/linux/bazel_distcheck/build.sh
Executable file
87
libs/protobuf/kokoro/linux/bazel_distcheck/build.sh
Executable file
@@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Build file to set up and run tests using bazel-build dist archive
|
||||
#
|
||||
# Note that the builds use WORKSPACE to fetch external sources, not
|
||||
# git submodules.
|
||||
|
||||
set -eux
|
||||
|
||||
BUILD_ONLY_TARGETS=(
|
||||
//pkg:all
|
||||
//:protoc
|
||||
//:protobuf
|
||||
//:protobuf_python
|
||||
)
|
||||
|
||||
TEST_TARGETS=(
|
||||
//build_defs:all
|
||||
//conformance:all
|
||||
//java:tests
|
||||
//:protobuf_test
|
||||
)
|
||||
|
||||
use_bazel.sh 5.0.0 || true
|
||||
bazel version
|
||||
|
||||
# Change to repo root
|
||||
cd $(dirname $0)/../../..
|
||||
|
||||
# Construct temp directory for running the dist build.
|
||||
# If you want to run locally and keep the build dir, create a directory
|
||||
# and pass it in the DIST_WORK_ROOT env var.
|
||||
if [[ -z ${DIST_WORK_ROOT:-} ]]; then
|
||||
: ${DIST_WORK_ROOT:=$(mktemp -d)}
|
||||
function dist_cleanup() {
|
||||
rm -rf ${DIST_WORK_ROOT}
|
||||
}
|
||||
trap dist_cleanup EXIT
|
||||
fi
|
||||
|
||||
# Let Bazel share the distdir.
|
||||
TMP_DISTDIR=${DIST_WORK_ROOT}/bazel-distdir
|
||||
mkdir -p ${TMP_DISTDIR}
|
||||
|
||||
# Build distribution archive
|
||||
date
|
||||
bazel fetch --distdir=${TMP_DISTDIR} //pkg:dist_all_tar
|
||||
bazel build --distdir=${TMP_DISTDIR} //pkg:dist_all_tar
|
||||
DIST_ARCHIVE=$(readlink $(bazel info bazel-bin)/pkg/dist_all_tar.tar.gz)
|
||||
bazel shutdown
|
||||
|
||||
# The `pkg_tar` rule emits a symlink based on the rule name. The actual
|
||||
# file is named with the current version.
|
||||
date
|
||||
echo "Resolved archive path: ${DIST_ARCHIVE}"
|
||||
|
||||
# Extract the dist archive.
|
||||
date
|
||||
DIST_WORKSPACE=${DIST_WORK_ROOT}/protobuf
|
||||
mkdir -p ${DIST_WORKSPACE}
|
||||
tar -C ${DIST_WORKSPACE} --strip-components=1 -axf ${DIST_ARCHIVE}
|
||||
|
||||
# Perform build steps in the extracted dist sources.
|
||||
|
||||
cd ${DIST_WORKSPACE}
|
||||
FAILED=false
|
||||
|
||||
date
|
||||
bazel fetch --distdir=${TMP_DISTDIR} "${BUILD_ONLY_TARGETS[@]}" "${TEST_TARGETS[@]}"
|
||||
|
||||
date
|
||||
bazel build --distdir=${TMP_DISTDIR} -k \
|
||||
"${BUILD_ONLY_TARGETS[@]}" || FAILED=true
|
||||
|
||||
date
|
||||
bazel test --distdir=${TMP_DISTDIR} --test_output=errors -k \
|
||||
"${TEST_TARGETS[@]}" || FAILED=true
|
||||
|
||||
date
|
||||
cd examples
|
||||
bazel build --distdir=${TMP_DISTDIR} //... || FAILED=true
|
||||
|
||||
if ${FAILED}; then
|
||||
echo FAILED
|
||||
exit 1
|
||||
fi
|
||||
echo PASS
|
||||
Reference in New Issue
Block a user