Skip to content
Permalink
Browse files

WIP: allow running both SL/BS by flipping env var

  • Loading branch information
vojtajina committed Dec 4, 2014
1 parent e5e80e5 commit 27275508a3ba8c28b475144065843ddba531eb8a
Showing with 80 additions and 25 deletions.
  1. +7 −5 .travis.yml
  2. +53 −18 protractor-travis-conf.js
  3. +9 −2 scripts/travis/build.sh
  4. +11 −0 scripts/travis/start_browser_provider.sh
@@ -8,14 +8,16 @@ branches:

env:
matrix:
- JOB=unit
- JOB=e2e TEST_TARGET=jqlite
- JOB=e2e TEST_TARGET=jquery
- JOB=unit BROWSER_PROVIDER=browserstack
# - JOB=e2e TEST_TARGET=jqlite
# - JOB=e2e TEST_TARGET=jquery
global:
- SAUCE_USERNAME=angular-ci
- SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987
- BROWSER_STACK_USERNAME=VojtaJina
- BROWSER_STACK_ACCESS_KEY=QCQJ1ZpWXpBkSwEdD8ev
- LOGS_DIR=/tmp/angular-build/logs
- BROWSER_PROVIDER_READY_FILE=/tmp/browserstack-tunnel-ready
- BROWSER_PROVIDER_READY_FILE=/tmp/browsersprovider-tunnel-ready

install:
# - npm config set registry http://23.251.144.68
@@ -28,7 +30,7 @@ install:

before_script:
- mkdir -p $LOGS_DIR
- ./lib/browser-stack/start-tunnel.sh
- ./scripts/travis/start_browser_provider.sh
- npm install -g grunt-cli
- grunt package
- ./scripts/travis/wait_for_browser_provider.sh
@@ -2,25 +2,47 @@

var config = require('./protractor-shared-conf').config;

if (process.env.BROWSER_PROVIDER === 'browserstack') {
// Using BrowserStack.
config.seleniumAddress = 'http://hub.browserstack.com/wd/hub';
config.multiCapabilities = [
capabilitiesForBrowserStack({
browserName: 'chrome',
platform: 'MAC',
version: '34'
}),
capabilitiesForBrowserStack({
browserName: 'firefox',
version: '28'
}),
capabilitiesForBrowserStack({
browserName: 'safari',
platform: 'MAC',
version: '7'
})
];
} else {
// Using SauceLabs.
config.sauceUser = process.env.SAUCE_USERNAME;
config.sauceKey = process.env.SAUCE_ACCESS_KEY;
config.multiCapabilities = [
capabilitiesForSauceLabs({
browserName: 'chrome',
platform: 'OS X 10.9',
version: '34'
}),
capabilitiesForSauceLabs({
browserName: 'firefox',
version: '28'
}),
capabilitiesForSauceLabs({
browserName: 'safari',
platform: 'OS X 10.9',
version: '7'
})
];
}

config.seleniumAddress = 'http://hub.browserstack.com/wd/hub';

config.multiCapabilities = [
capabilitiesForBrowserStack({
browserName: 'chrome',
platform: 'MAC',
version: '34'
}),
capabilitiesForBrowserStack({
browserName: 'firefox',
version: '28'
}),
capabilitiesForBrowserStack({
browserName: 'safari',
platform: 'MAC',
version: '7'
})
];

config.allScriptsTimeout = 30000;
config.getPageTimeout = 30000;
@@ -45,3 +67,16 @@ function capabilitiesForBrowserStack(capabilities) {
'version': capabilities.version
};
}

function capabilitiesForSauceLabs(capabilities) {
return {
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,

'name': 'Angular E2E',
'build': process.env.TRAVIS_BUILD_NUMBER,

'browserName': capabilities.browserName,
'platform': capabilities.platform,
'version': capabilities.version
};
}
@@ -3,12 +3,19 @@
set -e

export BROWSER_STACK_ACCESS_KEY=`echo $BROWSER_STACK_ACCESS_KEY | rev`
export SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev`

if [ $JOB = "unit" ]; then
if [ "$BROWSER_PROVIDER" == "browserstack" ]; then
BROWSERS="BS_Chrome,BS_Safari,BS_Firefox,BS_IE_9,BS_IE_10,BS_IE_11"
else
BROWSERS="SL_Chrome,SL_Safari,SL_Firefox,SL_IE_9,SL_IE_10,SL_IE_11"
fi

grunt test:promises-aplus
grunt test:unit --browsers BS_Chrome,BS_Safari,BS_Firefox,BS_IE_9,BS_IE_10,BS_IE_11 --reporters dots
grunt test:unit --browsers $BROWSERS --reporters dots
grunt ci-checks
grunt tests:docs --browsers BS_Chrome,BS_Safari,BS_Firefox,BS_IE_9,BS_IE_10,BS_IE_11 --reporters dots
grunt tests:docs --browsers $BROWSERS --reporters dots
grunt test:travis-protractor --specs "docs/app/e2e/**/*.scenario.js"
elif [ $JOB = "e2e" ]; then
if [ $TEST_TARGET = "jquery" ]; then
@@ -0,0 +1,11 @@
#!/bin/bash
# Has to be run from project root directory.

# TODO(vojta): normalize paths to lib/$BROWSER_PROVIDER
if [ "$BROWSER_PROVIDER" == "browserstack" ]; then
echo "Using BrowserStack"
./lib/browser-stack/start-tunnel.sh
else
echo "Using SauceLabs"
./lib/sauce/sauce_connect_setup.sh
fi

0 comments on commit 2727550

Please sign in to comment.
You can’t perform that action at this time.