2013-09-18 02:13:12 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# Setup and start Sauce Connect for your TravisCI build
|
|
|
|
# This script requires your .travis.yml to include the following two private env variables:
|
|
|
|
# SAUCE_USERNAME
|
|
|
|
# SAUCE_ACCESS_KEY
|
|
|
|
# Follow the steps at https://saucelabs.com/opensource/travis to set that up.
|
|
|
|
#
|
|
|
|
# Curl and run this script as part of your .travis.yml before_script section:
|
|
|
|
# before_script:
|
|
|
|
# - curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash
|
|
|
|
|
|
|
|
CONNECT_URL="http://saucelabs.com/downloads/Sauce-Connect-latest.zip"
|
|
|
|
CONNECT_DIR="/tmp/sauce-connect-$RANDOM"
|
|
|
|
CONNECT_DOWNLOAD="Sauce_Connect.zip"
|
|
|
|
|
2013-09-18 02:19:42 +00:00
|
|
|
mkdir -p $LOGS_DIR
|
2013-09-18 02:13:12 +00:00
|
|
|
CONNECT_LOG="$LOGS_DIR/sauce-connect"
|
|
|
|
CONNECT_STDOUT="$LOGS_DIR/sauce-connect.stdout"
|
|
|
|
CONNECT_STDERR="$LOGS_DIR/sauce-connect.stderr"
|
|
|
|
|
|
|
|
# Get Connect and start it
|
|
|
|
mkdir -p $CONNECT_DIR
|
|
|
|
cd $CONNECT_DIR
|
|
|
|
curl $CONNECT_URL -o $CONNECT_DOWNLOAD 2> /dev/null 1> /dev/null
|
|
|
|
unzip $CONNECT_DOWNLOAD > /dev/null
|
|
|
|
rm $CONNECT_DOWNLOAD
|
|
|
|
|
|
|
|
SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev`
|
|
|
|
|
|
|
|
|
|
|
|
ARGS=""
|
|
|
|
|
|
|
|
# Set tunnel-id only on Travis, to make local testing easier.
|
|
|
|
if [ ! -z "$TRAVIS_JOB_NUMBER" ]; then
|
|
|
|
ARGS="$ARGS --tunnel-identifier $TRAVIS_JOB_NUMBER"
|
|
|
|
fi
|
|
|
|
if [ ! -z "$SAUCE_CONNECT_READY_FILE" ]; then
|
|
|
|
ARGS="$ARGS --readyfile $SAUCE_CONNECT_READY_FILE"
|
|
|
|
fi
|
|
|
|
|
2013-09-18 02:19:42 +00:00
|
|
|
echo "Starting Sauce Connect in the background:"
|
|
|
|
echo " Arg: $ARGS"
|
|
|
|
echo "Logging into:"
|
2013-09-18 02:13:12 +00:00
|
|
|
echo " Log: $CONNECT_LOG"
|
|
|
|
echo " Out: $CONNECT_STDOUT"
|
|
|
|
echo " Err: $CONNECT_STDERR"
|
|
|
|
java -jar Sauce-Connect.jar $ARGS $SAUCE_USERNAME $SAUCE_ACCESS_KEY \
|
|
|
|
--logfile $CONNECT_LOG 2> $CONNECT_STDERR 1> $CONNECT_STDOUT &
|
|
|
|
CONNECT_PID=$!
|
|
|
|
echo " Pid: $CONNECT_PID"
|