chore: set up Sauce Labs with Travis
This should not affect the Jenkins build at all. Now, the Travis build uses Chrome on Sauce Labs, which in theory gives us opportunity to use any browser/platform that Sauce Labs offers.
This commit is contained in:
+10
-3
@@ -2,12 +2,19 @@ language: node_js
|
||||
node_js:
|
||||
- 0.8
|
||||
|
||||
env:
|
||||
global:
|
||||
- SAUCE_USERNAME=angular-ci
|
||||
- SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987
|
||||
- SAUCE_CONNECT_READY_FILE=/tmp/sauce-connect-ready
|
||||
|
||||
before_script:
|
||||
- export DISPLAY=:99.0
|
||||
- sh -e /etc/init.d/xvfb start
|
||||
- export SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev`
|
||||
- ./lib/sauce/sauce_connect_setup.sh
|
||||
- npm install -g grunt-cli
|
||||
- grunt package
|
||||
- grunt webserver > /dev/null &
|
||||
- ./lib/sauce/sauce_connect_block.sh
|
||||
|
||||
script:
|
||||
- grunt test --browsers Firefox --reporters=dots
|
||||
- grunt test --reporters dots --browsers SL_Chrome
|
||||
|
||||
@@ -20,4 +20,6 @@ module.exports = function(config) {
|
||||
suite: 'E2E'
|
||||
}
|
||||
});
|
||||
|
||||
config.sauceLabs.testName = 'AngularJS: e2e';
|
||||
};
|
||||
|
||||
@@ -13,4 +13,6 @@ module.exports = function(config) {
|
||||
suite: 'jqLite'
|
||||
}
|
||||
});
|
||||
|
||||
config.sauceLabs.testName = 'AngularJS: jqLite';
|
||||
};
|
||||
|
||||
@@ -13,4 +13,6 @@ module.exports = function(config) {
|
||||
suite: 'jQuery'
|
||||
}
|
||||
});
|
||||
|
||||
config.sauceLabs.testName = 'AngularJS: jQuery';
|
||||
};
|
||||
|
||||
@@ -12,4 +12,6 @@ module.exports = function(config) {
|
||||
suite: 'modules'
|
||||
}
|
||||
});
|
||||
|
||||
config.sauceLabs.testName = 'AngularJS: modules';
|
||||
};
|
||||
|
||||
+15
-1
@@ -4,6 +4,20 @@ module.exports = function(config) {
|
||||
autoWatch: true,
|
||||
logLevel: config.LOG_INFO,
|
||||
logColors: true,
|
||||
browsers: ['Chrome']
|
||||
browsers: ['Chrome'],
|
||||
|
||||
// config for Travis CI
|
||||
sauceLabs: {
|
||||
testName: 'AngularJS',
|
||||
startConnect: false,
|
||||
tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER
|
||||
},
|
||||
|
||||
customLaunchers: {
|
||||
'SL_Chrome': {
|
||||
base: 'SauceLabs',
|
||||
browserName: 'chrome'
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
# Wait for Connect to be ready before exiting
|
||||
while [ ! -f $SAUCE_CONNECT_READY_FILE ]; do
|
||||
sleep .5
|
||||
done
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/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"
|
||||
CONNECT_LOG="$CONNECT_DIR/log"
|
||||
|
||||
# Get Connect and start it
|
||||
mkdir -p $CONNECT_DIR
|
||||
cd $CONNECT_DIR
|
||||
curl $CONNECT_URL > $CONNECT_DOWNLOAD 2> /dev/null
|
||||
unzip $CONNECT_DOWNLOAD
|
||||
rm $CONNECT_DOWNLOAD
|
||||
|
||||
|
||||
echo "Starting Sauce Connect in the background"
|
||||
echo "Logging into $CONNECT_LOG"
|
||||
java -jar Sauce-Connect.jar --readyfile $SAUCE_CONNECT_READY_FILE \
|
||||
--tunnel-identifier $TRAVIS_JOB_NUMBER \
|
||||
$SAUCE_USERNAME $SAUCE_ACCESS_KEY > $CONNECT_LOG &
|
||||
@@ -20,6 +20,7 @@
|
||||
"karma-firefox-launcher": "~0.0.1",
|
||||
"karma-ng-scenario": "~0.0.1",
|
||||
"karma-junit-reporter": "~0.0.1",
|
||||
"karma-sauce-launcher": "~0.0.4",
|
||||
"yaml-js": "0.0.5",
|
||||
"showdown": "0.3.1"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user