xref: /aosp_15_r20/external/protobuf/kokoro/linux/bazel/build.sh (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker#!/bin/bash
2*1b3f573fSAndroid Build Coastguard Worker#
3*1b3f573fSAndroid Build Coastguard Worker# Build file to set up and run tests
4*1b3f573fSAndroid Build Coastguard Workerset -ex
5*1b3f573fSAndroid Build Coastguard Worker
6*1b3f573fSAndroid Build Coastguard Worker# Install Bazel 4.0.0.
7*1b3f573fSAndroid Build Coastguard Workeruse_bazel.sh 4.0.0
8*1b3f573fSAndroid Build Coastguard Workerbazel version
9*1b3f573fSAndroid Build Coastguard Worker
10*1b3f573fSAndroid Build Coastguard Worker# Print bazel testlogs to stdout when tests failed.
11*1b3f573fSAndroid Build Coastguard Workerfunction print_test_logs {
12*1b3f573fSAndroid Build Coastguard Worker  # TODO(yannic): Only print logs of failing tests.
13*1b3f573fSAndroid Build Coastguard Worker  testlogs_dir=$(bazel info bazel-testlogs)
14*1b3f573fSAndroid Build Coastguard Worker  testlogs=$(find "${testlogs_dir}" -name "*.log")
15*1b3f573fSAndroid Build Coastguard Worker  for log in $testlogs; do
16*1b3f573fSAndroid Build Coastguard Worker    cat "${log}"
17*1b3f573fSAndroid Build Coastguard Worker  done
18*1b3f573fSAndroid Build Coastguard Worker}
19*1b3f573fSAndroid Build Coastguard Worker
20*1b3f573fSAndroid Build Coastguard Worker# Change to repo root
21*1b3f573fSAndroid Build Coastguard Workercd $(dirname $0)/../../..
22*1b3f573fSAndroid Build Coastguard Worker
23*1b3f573fSAndroid Build Coastguard Workergit submodule update --init --recursive
24*1b3f573fSAndroid Build Coastguard Worker
25*1b3f573fSAndroid Build Coastguard Worker#  Disabled for now, re-enable if appropriate.
26*1b3f573fSAndroid Build Coastguard Worker#  //:build_files_updated_unittest \
27*1b3f573fSAndroid Build Coastguard Worker
28*1b3f573fSAndroid Build Coastguard Workertrap print_test_logs EXIT
29*1b3f573fSAndroid Build Coastguard Workerbazel test -k --copt=-Werror --host_copt=-Werror \
30*1b3f573fSAndroid Build Coastguard Worker  //build_defs:all \
31*1b3f573fSAndroid Build Coastguard Worker  //java:tests \
32*1b3f573fSAndroid Build Coastguard Worker  //:protoc \
33*1b3f573fSAndroid Build Coastguard Worker  //:protobuf \
34*1b3f573fSAndroid Build Coastguard Worker  //:protobuf_python \
35*1b3f573fSAndroid Build Coastguard Worker  //:protobuf_test
36*1b3f573fSAndroid Build Coastguard Workertrap - EXIT
37*1b3f573fSAndroid Build Coastguard Worker
38*1b3f573fSAndroid Build Coastguard Workerpushd examples
39*1b3f573fSAndroid Build Coastguard Workerbazel build //...
40*1b3f573fSAndroid Build Coastguard Workerpopd
41*1b3f573fSAndroid Build Coastguard Worker
42*1b3f573fSAndroid Build Coastguard Worker# Verify that we can build successfully from generated tar files.
43*1b3f573fSAndroid Build Coastguard Worker./autogen.sh && ./configure && make -j$(nproc) dist
44*1b3f573fSAndroid Build Coastguard WorkerDIST=`ls *.tar.gz`
45*1b3f573fSAndroid Build Coastguard Workertar -xf $DIST
46*1b3f573fSAndroid Build Coastguard Workercd ${DIST//.tar.gz}
47*1b3f573fSAndroid Build Coastguard Workerbazel build //:protobuf //:protobuf_java
48