Add sauce labs integration.

This commit is contained in:
John-David Dalton
2016-08-18 13:51:17 -07:00
parent a308758cce
commit 77a9ce5e4a
2 changed files with 71 additions and 0 deletions

70
karma.conf-sauce.js Normal file
View File

@@ -0,0 +1,70 @@
/* jshint node: true */
"use strict";
// Browsers to run on Sauce Labs platforms.
var sauceBrowsers = [
[ "chrome", "53", "Windows 10" ],
[ "chrome", "52", "Windows 10" ],
[ "firefox", "48", "Windows 10" ],
[ "firefox", "47", "Windows 10" ],
[ "microsoftedge", "13", "Windows 10" ],
[ "internet explorer", "11", "Windows 10" ],
[ "safari", "9", "OS X 10.11" ],
[ "safari", "8", "OS X 10.10" ]
].reduce( function( object, platform ) {
// Convert "internet explorer" -> "ie".
var label = platform[ 0 ].split( " " );
label = (
label.length > 1 ? label.map( function( word ) { return word[ 0 ]; } ) : label
).join( "" ) +
"_v" + platform[ 1 ];
object[ label ] = {
base: "SauceLabs",
browserName: platform[ 0 ],
version: platform[ 1 ],
platform: platform[ 2 ]
};
return object;
}, {} );
module.exports = function( config ) {
if ( !process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY ) {
console.log( "Sauce environments not set --- Skipping" );
return process.exit( 0 );
}
config.set( {
basePath: "",
browserDisconnectTolerance: 5,
frameworks: [ "qunit" ],
singleRun: true,
// The list of files / patterns to load in the browser.
files: [
"test/bootstrap.js",
"js/impress.js",
"test/core_tests.js"
],
// The number of sauce tests to start in parallel.
concurrency: 1,
// Test results reporter to use.
reporters: [ "dots", "saucelabs" ],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
sauceLabs: {
build: "CIRCLE-CI #" + process.env.CIRCLE_BUILD_NUM,
startConnect: true,
tunnelIdentifier: process.env.CIRCLE_BUILD_NUM
},
captureTimeout: 120000,
customLaunchers: sauceBrowsers,
// Browsers to launch.
browsers: Object.keys( sauceBrowsers )
} );
};