blob: 600b11a3ef3cec718b19ab1d5e4dc29617f1aec4 [file] [log] [blame]
#!/bin/bash -x
# Invoked by Android Build Launchcontrol for continuous builds.
# Expected arguments:
readonly out_dir="$1"
readonly dist_dir="$2"
readonly build_number="$3"
if [[ $build_number =~ ^[0-9]+$ ]];
then
IS_POST_SUBMIT=true
fi
declare -a conditional_flags
if [[ $IS_POST_SUBMIT ]]; then
conditional_flags+=(--nocache_test_results)
fi
readonly script_dir="$(dirname "$0")"
readonly script_name="$(basename "$0")"
# Invocation ID must be lower case in Sponge URL
readonly invocation_id=$(uuidgen | tr A-F a-f)
readonly config_options="--config=release --config=ants --config=rcache"
"${script_dir}/bazel" \
--max_idle_secs=60 \
--output_base="${TMPDIR}" \
test \
${config_options} \
--invocation_id=${invocation_id} \
--build_metadata=ab_target=studio-mac-arm \
--build_metadata=ab_build_id=${build_number} \
--build_tag_filters=-no_mac \
--test_tag_filters="ci:studio-mac-arm" \
--tool_tag=${script_name} \
--worker_quit_after_build \
"${conditional_flags[@]}" \
-- \
//tools/base/bazel/... \
//tools/vendor/google/skia:skiaparser \
//tools/vendor/google/skia:skia_test_support \
//tools/adt/idea/android/src/com/android/tools/idea/diagnostics/heap/native/...
readonly bazel_status=$?
if [[ -d "${dist_dir}" ]]; then
# info breaks if we pass --config=local or --config=rcache because they don't
# affect info, so we need to pass only --config=release here in order to fetch the proper
# binaries
readonly bin_dir="$("${script_dir}"/bazel --output_base="${TMPDIR}" info --config=release bazel-bin)"
cp -a ${bin_dir}/tools/base/profiler/native/trace_processor_daemon/trace_processor_daemon ${dist_dir}
cp -a ${bin_dir}/tools/adt/idea/android/src/com/android/tools/idea/diagnostics/heap/native/libjni_object_tagger.dylib ${dist_dir}
cp -a ${bin_dir}/tools/vendor/google/skia/skiaparser.zip ${dist_dir}
cp -a ${bin_dir}/tools/vendor/google/skia/skia_test_support.zip ${dist_dir}
#echo "<head><meta http-equiv=\"refresh\" content=\"0; URL='https://fusion2.corp.google.com/invocations/${invocation_id}'\" /></head>" > "${dist_dir}"/sponge_test_results.html
fi
BAZEL_EXITCODE_TEST_FAILURES=3
# For post-submit builds, if the tests fail we still want to report success
# otherwise ATP will think the build failed and there are no tests. b/152755167
if [[ $IS_POST_SUBMIT && $bazel_status == $BAZEL_EXITCODE_TEST_FAILURES ]]; then
exit 0
else
exit $bazel_status
fi