Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(306)

Unified Diff: build/android/buildbot_functions.sh

Issue 10914132: Move buildbot files to a separate buildbot dir (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/buildbot/bb_webkit_latest_tester.sh ('k') | build/android/buildbot_fyi_builder.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/buildbot_functions.sh
diff --git a/build/android/buildbot_functions.sh b/build/android/buildbot_functions.sh
deleted file mode 100755
index 1cf31db5941872a3cb810d0faa79ffb5f2cd5994..0000000000000000000000000000000000000000
--- a/build/android/buildbot_functions.sh
+++ /dev/null
@@ -1,307 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Bash functions used by buildbot annotator scripts for the android
-# build of chromium. Executing this script should not perform actions
-# other than setting variables and defining of functions.
-
-# Number of jobs on the compile line; e.g. make -j"${JOBS}"
-JOBS="${JOBS:-4}"
-
-# Clobber build? Overridden by bots with BUILDBOT_CLOBBER.
-NEED_CLOBBER="${NEED_CLOBBER:-0}"
-
-
-# Parse named arguments passed into the annotator script
-# and assign them global variable names.
-function bb_parse_args {
- while [[ $1 ]]; do
- case "$1" in
- --factory-properties=*)
- FACTORY_PROPERTIES="$(echo "$1" | sed 's/^[^=]*=//')"
- BUILDTYPE=$(bb_get_json_prop "$FACTORY_PROPERTIES" target)
- ;;
- --build-properties=*)
- BUILD_PROPERTIES="$(echo "$1" | sed 's/^[^=]*=//')"
- ;;
- *)
- echo "@@@STEP_WARNINGS@@@"
- echo "Warning, unparsed input argument: '$1'"
- ;;
- esac
- shift
- done
-}
-
-# Function to force-green a bot.
-function bb_force_bot_green_and_exit {
- echo "@@@BUILD_STEP Bot forced green.@@@"
- exit 0
-}
-
-function bb_run_gclient_hooks {
- gclient runhooks
-}
-
-# Basic setup for all bots to run after a source tree checkout.
-# Args:
-# $1: source root.
-# $2 and beyond: key value pairs which are parsed by bb_parse_args.
-function bb_baseline_setup {
- echo "@@@BUILD_STEP Environment setup@@@"
- SRC_ROOT="$1"
- # Remove SRC_ROOT param
- shift
-
- bb_parse_args "$@"
-
- cd $SRC_ROOT
- if [ ! "$BUILDBOT_CLOBBER" = "" ]; then
- NEED_CLOBBER=1
- fi
-
- export GOMA_DIR=/b/build/goma
-
- local BUILDTOOL=$(bb_get_json_prop "$FACTORY_PROPERTIES" buildtool)
- if [ $BUILDTOOL = "ninja" ]; then
- export GYP_GENERATORS=ninja
- fi
-
- . build/android/envsetup.sh
-
- if [ "$NEED_CLOBBER" -eq 1 ]; then
- echo "@@@BUILD_STEP Clobber@@@"
- # Sdk key expires, delete android folder.
- # crbug.com/145860
- rm -rf ~/.android
- rm -rf "${SRC_ROOT}"/out
- if [ -e "${SRC_ROOT}"/out ] ; then
- echo "Clobber appeared to fail? ${SRC_ROOT}/out still exists."
- echo "@@@STEP_WARNINGS@@@"
- fi
- fi
-
- # Should be called only after envsetup is done.
- bb_run_gclient_hooks
-}
-
-
-# Setup goma. Used internally to buildbot_functions.sh.
-function bb_setup_goma_internal {
- export GOMA_API_KEY_FILE=${GOMA_DIR}/goma.key
- export GOMA_COMPILER_PROXY_DAEMON_MODE=true
- export GOMA_COMPILER_PROXY_RPC_TIMEOUT_SECS=300
-
- echo "Starting goma"
- ${GOMA_DIR}/goma_ctl.sh ensure_start
- trap bb_stop_goma_internal SIGHUP SIGINT SIGTERM
-}
-
-# Stop goma.
-function bb_stop_goma_internal {
- echo "Stopping goma"
- ${GOMA_DIR}/goma_ctl.sh stop
-}
-
-# $@: make args.
-# Use goma if possible; degrades to non-Goma if needed.
-function bb_goma_make {
- if [ "${GOMA_DIR}" = "" ]; then
- make -j${JOBS} "$@"
- return
- fi
-
- HOST_CC=$GOMA_DIR/gcc
- HOST_CXX=$GOMA_DIR/g++
- TARGET_CC=$(/bin/ls $ANDROID_TOOLCHAIN/*-gcc | head -n1)
- TARGET_CXX=$(/bin/ls $ANDROID_TOOLCHAIN/*-g++ | head -n1)
- TARGET_CC="$GOMA_DIR/gomacc $TARGET_CC"
- TARGET_CXX="$GOMA_DIR/gomacc $TARGET_CXX"
- COMMON_JAVAC="$GOMA_DIR/gomacc /usr/bin/javac -J-Xmx512M \
- -target 1.5 -Xmaxerrs 9999999"
-
- command make \
- -j100 \
- -l20 \
- HOST_CC="$HOST_CC" \
- HOST_CXX="$HOST_CXX" \
- TARGET_CC="$TARGET_CC" \
- TARGET_CXX="$TARGET_CXX" \
- CC.host="$HOST_CC" \
- CXX.host="$HOST_CXX" \
- CC.target="$TARGET_CC" \
- CXX.target="$TARGET_CXX" \
- LINK.target="$TARGET_CXX" \
- COMMON_JAVAC="$COMMON_JAVAC" \
- BUILDTYPE="$BUILDTYPE" \
- "$@"
-
- local make_exit_code=$?
- return $make_exit_code
-}
-
-# Build using ninja.
-function bb_goma_ninja {
- echo "Using ninja to build."
- local TARGET=$1
- ninja -C out/$BUILDTYPE -j120 -l20 $TARGET
-}
-
-# Compile step
-function bb_compile {
- # This must be named 'compile', not 'Compile', for CQ interaction.
- # Talk to maruel for details.
- echo "@@@BUILD_STEP compile@@@"
-
- bb_setup_goma_internal
-
- BUILDTOOL=$(bb_get_json_prop "$FACTORY_PROPERTIES" buildtool)
- if [ $BUILDTOOL = "ninja" ]; then
- bb_goma_ninja All
- else
- bb_goma_make
- fi
-
- bb_stop_goma_internal
-}
-
-# Experimental compile step; does not turn the tree red if it fails.
-function bb_compile_experimental {
- # Linking DumpRenderTree appears to hang forever?
- EXPERIMENTAL_TARGETS="android_experimental"
- for target in ${EXPERIMENTAL_TARGETS} ; do
- echo "@@@BUILD_STEP Experimental Compile $target @@@"
- set +e
- if [ $BUILDTOOL = "ninja" ]; then
- bb_goma_ninja "${target}"
- else
- bb_goma_make -k "${target}"
- fi
- if [ $? -ne 0 ] ; then
- echo "@@@STEP_WARNINGS@@@"
- fi
- set -e
- done
-}
-
-# Run tests on an emulator.
-function bb_run_tests_emulator {
- echo "@@@BUILD_STEP Run Tests on an Emulator@@@"
- build/android/run_tests.py -e --xvfb --verbose
-}
-
-# Run tests on an actual device. (Better have one plugged in!)
-function bb_run_unit_tests {
- python build/android/device_status_check.py
- local LOGCAT_DUMP_DIR="$CHROME_SRC/out/logcat"
- rm -rf "$LOGCAT_DUMP_DIR"
- python build/android/adb_logcat_monitor.py "$LOGCAT_DUMP_DIR" &
-
- build/android/run_tests.py --xvfb --verbose
-
- echo "@@@BUILD_STEP Logcat dump@@@"
- python build/android/adb_logcat_printer.py "$LOGCAT_DUMP_DIR"
-}
-
-# Run instrumentation test.
-# Args:
-# $1: TEST_APK.
-# $2: EXTRA_FLAGS to be passed to run_instrumentation_tests.py.
-function bb_run_instrumentation_test {
- local TEST_APK=${1}
- local EXTRA_FLAGS=${2}
- local INSTRUMENTATION_FLAGS="-vvv"
- INSTRUMENTATION_FLAGS+=" --test-apk ${TEST_APK}"
- INSTRUMENTATION_FLAGS+=" ${EXTRA_FLAGS}"
- build/android/run_instrumentation_tests.py ${INSTRUMENTATION_FLAGS}
-}
-
-# Run content shell instrumentation test on device.
-function bb_run_instrumentation_tests {
- build/android/adb_install_content_shell
- local TEST_APK="content_shell_test/ContentShellTest-debug"
- # Use -I to install the test apk only on the first run.
- # TODO(bulach): remove the second once we have a Smoke test.
- bb_run_instrumentation_test ${TEST_APK} "-I -A Smoke"
- bb_run_instrumentation_test ${TEST_APK} "-I -A SmallTest"
- bb_run_instrumentation_test ${TEST_APK} "-A MediumTest"
- bb_run_instrumentation_test ${TEST_APK} "-A LargeTest"
-}
-
-# Zip and archive a build.
-function bb_zip_build {
- echo "@@@BUILD_STEP Zip build@@@"
- python ../../../../scripts/slave/zip_build.py \
- --src-dir "$SRC_ROOT" \
- --exclude-files "lib.target" \
- --factory-properties "$FACTORY_PROPERTIES" \
- --build-properties "$BUILD_PROPERTIES"
-}
-
-# Download and extract a build.
-function bb_extract_build {
- echo "@@@BUILD_STEP Download and extract build@@@"
- if [[ -z $FACTORY_PROPERTIES || -z $BUILD_PROPERTIES ]]; then
- return 1
- fi
-
- # When extract_build.py downloads an unversioned build it
- # issues a warning by exiting with large numbered return code
- # When it fails to download it build, it exits with return
- # code 1. We disable halt on error mode and return normally
- # unless the python tool returns 1.
- (
- set +e
- python ../../../../scripts/slave/extract_build.py \
- --build-dir "$SRC_ROOT" \
- --build-output-dir "out" \
- --factory-properties "$FACTORY_PROPERTIES" \
- --build-properties "$BUILD_PROPERTIES"
- local extract_exit_code=$?
- if (( $extract_exit_code > 1 )); then
- echo "@@@STEP_WARNINGS@@@"
- return
- fi
- return $extract_exit_code
- )
-}
-
-# Reboot all phones and wait for them to start back up
-# Does not break build if a phone fails to restart
-function bb_reboot_phones {
- echo "@@@BUILD_STEP Rebooting phones@@@"
- (
- set +e
- cd $CHROME_SRC/build/android/pylib;
- for DEVICE in $(adb_get_devices); do
- python -c "import android_commands;\
- android_commands.AndroidCommands(device='$DEVICE').Reboot(True)" &
- done
- wait
- )
-}
-
-# Runs the license checker for the WebView build.
-function bb_check_webview_licenses {
- echo "@@@BUILD_STEP Check licenses for WebView@@@"
- (
- set +e
- cd "${SRC_ROOT}"
- python android_webview/tools/webview_licenses.py scan
- local license_exit_code=$?
- if [[ license_exit_code -ne 0 ]]; then
- echo "@@@STEP_FAILURE@@@"
- fi
- return $license_exit_code
- )
-}
-
-# Retrieve a packed json property using python
-function bb_get_json_prop {
- local JSON="$1"
- local PROP="$2"
-
- python -c "import json; print json.loads('$JSON').get('$PROP')"
-}
« no previous file with comments | « build/android/buildbot/bb_webkit_latest_tester.sh ('k') | build/android/buildbot_fyi_builder.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698