aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml13
-rw-r--r--karma-e2e.conf.js2
-rw-r--r--karma-jqlite.conf.js2
-rw-r--r--karma-jquery.conf.js2
-rw-r--r--karma-modules.conf.js2
-rw-r--r--karma-shared.conf.js16
-rwxr-xr-xlib/sauce/sauce_connect_block.sh7
-rwxr-xr-xlib/sauce/sauce_connect_setup.sh32
-rw-r--r--package.json1
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"
},