diff options
| -rw-r--r-- | .travis.yml | 13 | ||||
| -rw-r--r-- | karma-e2e.conf.js | 2 | ||||
| -rw-r--r-- | karma-jqlite.conf.js | 2 | ||||
| -rw-r--r-- | karma-jquery.conf.js | 2 | ||||
| -rw-r--r-- | karma-modules.conf.js | 2 | ||||
| -rw-r--r-- | karma-shared.conf.js | 16 | ||||
| -rwxr-xr-x | lib/sauce/sauce_connect_block.sh | 7 | ||||
| -rwxr-xr-x | lib/sauce/sauce_connect_setup.sh | 32 | ||||
| -rw-r--r-- | package.json | 1 |
9 files changed, 73 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml index b3588709..92da3ed9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/karma-e2e.conf.js b/karma-e2e.conf.js index 78cc1b27..6ae5e623 100644 --- a/karma-e2e.conf.js +++ b/karma-e2e.conf.js @@ -20,4 +20,6 @@ module.exports = function(config) { suite: 'E2E' } }); + + config.sauceLabs.testName = 'AngularJS: e2e'; }; diff --git a/karma-jqlite.conf.js b/karma-jqlite.conf.js index d3a297a8..bf190f5e 100644 --- a/karma-jqlite.conf.js +++ b/karma-jqlite.conf.js @@ -13,4 +13,6 @@ module.exports = function(config) { suite: 'jqLite' } }); + + config.sauceLabs.testName = 'AngularJS: jqLite'; }; diff --git a/karma-jquery.conf.js b/karma-jquery.conf.js index 236824f7..126b3e1d 100644 --- a/karma-jquery.conf.js +++ b/karma-jquery.conf.js @@ -13,4 +13,6 @@ module.exports = function(config) { suite: 'jQuery' } }); + + config.sauceLabs.testName = 'AngularJS: jQuery'; }; diff --git a/karma-modules.conf.js b/karma-modules.conf.js index 38c22b81..9bbdec67 100644 --- a/karma-modules.conf.js +++ b/karma-modules.conf.js @@ -12,4 +12,6 @@ module.exports = function(config) { suite: 'modules' } }); + + config.sauceLabs.testName = 'AngularJS: modules'; }; diff --git a/karma-shared.conf.js b/karma-shared.conf.js index 70be8c97..3157d50f 100644 --- a/karma-shared.conf.js +++ b/karma-shared.conf.js @@ -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' + } + } }); }; diff --git a/lib/sauce/sauce_connect_block.sh b/lib/sauce/sauce_connect_block.sh new file mode 100755 index 00000000..126d3710 --- /dev/null +++ b/lib/sauce/sauce_connect_block.sh @@ -0,0 +1,7 @@ +#!/bin/bash + + +# Wait for Connect to be ready before exiting +while [ ! -f $SAUCE_CONNECT_READY_FILE ]; do + sleep .5 +done diff --git a/lib/sauce/sauce_connect_setup.sh b/lib/sauce/sauce_connect_setup.sh new file mode 100755 index 00000000..7ca8917b --- /dev/null +++ b/lib/sauce/sauce_connect_setup.sh @@ -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 & diff --git a/package.json b/package.json index 4e5b0a4a..c3eba39b 100644 --- a/package.json +++ b/package.json @@ -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" }, |
