58 lines
1.9 KiB
Bash
Executable File
58 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set +x -u -e -o pipefail
|
|
|
|
# Setup environment
|
|
readonly thisDir=$(cd $(dirname $0); pwd)
|
|
source ${thisDir}/../ci/_travis-fold.sh
|
|
|
|
|
|
|
|
# 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="https://saucelabs.com/downloads/sc-${SAUCE_CONNECT_VERSION}-linux.tar.gz"
|
|
CONNECT_DIR="/tmp/sauce-connect-$RANDOM"
|
|
CONNECT_DOWNLOAD="sc-latest-linux.tar.gz"
|
|
|
|
# We don't want to create a log file because sauceconnect always logs in verbose mode. This seems
|
|
# to be overwhelming Travis and causing flakes when we are cat-ing the log in "print-logs.sh"
|
|
CONNECT_LOG="/dev/null"
|
|
|
|
# Even though the stdout of sauceconnect is not very verbose, we don't want to log this to
|
|
# Travis because it will show up in between different travis log-output groups
|
|
CONNECT_STDOUT="/dev/null"
|
|
|
|
# Get Connect and start it
|
|
mkdir -p $CONNECT_DIR
|
|
cd $CONNECT_DIR
|
|
curl $CONNECT_URL -o $CONNECT_DOWNLOAD 2> /dev/null 1> /dev/null
|
|
mkdir sauce-connect
|
|
tar --extract --file=$CONNECT_DOWNLOAD --strip-components=1 --directory=sauce-connect > /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 "$BROWSER_PROVIDER_READY_FILE" ]; then
|
|
ARGS="$ARGS --readyfile $BROWSER_PROVIDER_READY_FILE"
|
|
fi
|
|
|
|
set -v
|
|
echo "Starting Sauce Connect in the background."
|
|
sauce-connect/bin/sc -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY $ARGS --logfile $CONNECT_LOG \
|
|
> $CONNECT_STDOUT &
|
|
set +v
|