blob: 5e6ff1d9ecc099f827dd25753ed05a5aa0ee18c7 [file] [log] [blame]
#!/bin/bash
#
# Setup BugDroid on the specified VM instance.
#
# Copyright 2014 Google Inc. All Rights Reserved.
# Author: rmistry@google.com (Ravi Mistry)
function usage() {
cat << EOF
usage: $0 options
This scripts setups up a specified GCE instance with the ability to run
BugDroid.
OPTIONS:
-h Show this message
-i The hostname of the GCE instance we want to setup to run BugDroid.
EOF
}
while getopts "hi:" OPTION
do
case $OPTION in
h)
usage
exit 1
;;
i)
VM_HOSTNAME=$OPTARG
;;
?)
usage
exit
;;
esac
done
if [[ -z $VM_HOSTNAME ]]
then
usage
exit 1
fi
source vm_config.sh
source vm_setup_utils.sh
for REQUIRED_FILE in ${REQUIRED_FILES_FOR_BUGDROID[@]}; do
if [ ! -f $REQUIRED_FILE ];
then
echo "Please create $REQUIRED_FILE!"
exit 1
fi
done
echo """
=================================================
Starting setup of bugdroid on ${VM_HOSTNAME}.....
=================================================
"""
echo "===== Create required directories ====="
$GCOMPUTE_CMD ssh --ssh_user=$PROJECT_USER $VM_HOSTNAME \
"mkdir -p $SKIA_REPO_DIR/bugdroid/repos" \
|| echo "Failed to set up required directories"
echo "===== Checkout buildbot ====="
$GCOMPUTE_CMD ssh --ssh_user=$PROJECT_USER $VM_HOSTNAME \
"cd $SKIA_REPO_DIR/bugdroid && " \
"/home/$PROJECT_USER/$SKIA_REPO_DIR/depot_tools/gclient config https://skia.googlesource.com/buildbot.git && " \
"/home/$PROJECT_USER/$SKIA_REPO_DIR/depot_tools/gclient sync" \
|| echo "Failed to checkout buildbot"
echo
echo "===== Checkout repos for bugdroid to watch ====="
$GCOMPUTE_CMD ssh --ssh_user=$PROJECT_USER $VM_HOSTNAME \
"cd $SKIA_REPO_DIR/bugdroid/repos && " \
"/home/$PROJECT_USER/$SKIA_REPO_DIR/depot_tools/gclient config https://skia.googlesource.com/buildbot.git && " \
"/home/$PROJECT_USER/$SKIA_REPO_DIR/depot_tools/gclient sync && " \
"/home/$PROJECT_USER/$SKIA_REPO_DIR/depot_tools/gclient config https://skia.googlesource.com/skia.git && " \
"/home/$PROJECT_USER/$SKIA_REPO_DIR/depot_tools/gclient sync" \
|| echo "Failed to checkout buildbot"
echo
echo "===== Copying over required master files. ====="
for REQUIRED_FILE in ${REQUIRED_FILES_FOR_BUGDROID[@]}; do
$GCOMPUTE_CMD push --ssh_user=$PROJECT_USER $VM_HOSTNAME \
$REQUIRED_FILE $SKIA_REPO_DIR/bugdroid/buildbot/
done
echo
echo "===== Install required packages. ====="
$GCOMPUTE_CMD ssh --ssh_user=$PROJECT_USER $VM_HOSTNAME \
"sudo pip install gdata" \
|| echo "Failed to install required packages"
echo
echo
echo "To turn on bugdroid for the skia and buildbot repos run the following:"
echo "* cd $SKIA_REPO_DIR/bugdroid/buildbot/services/bugdroid"
echo "* nohup python bugdroid_git.py --repo ~/$SKIA_REPO_DIR/bugdroid/repos/buildbot --rev-link=https://skia.googlesource.com/buildbot/+/ --log-file-name buildbot-bugdroid-log.txt &"
echo "* nohup python bugdroid_git.py --repo ~/$SKIA_REPO_DIR/bugdroid/repos/skia --rev-link=https://skia.googlesource.com/skia/+/ --log-file-name skia-bugdroid-log.txt &"
echo