chore(): add parallel build to circleci

This commit is contained in:
Andrew Joslin
2014-05-30 00:28:35 -06:00
parent 8ee661248e
commit a1180233f8
5 changed files with 50 additions and 27 deletions

View File

@@ -2,13 +2,12 @@ machine:
node:
version: v0.10.26
environment:
SNAPSHOT_BROWSER: chrome
SNAPSHOT_BROWSER_ID: chrome_desktop_narrow
SNAPSHOT_WIDTH: 400
SNAPSHOT_HEIGHT: 800
SAUCE_TUNNEL_ID: $CIRCLE_BUILD_NUM
dependencies:
pre:
- npm install -g protractor gulp
test:
override:
- ./scripts/snapshot/run.sh
- echo "SAUCE_TUNNEL_ID=$SAUCE_TUNNEL_ID"
- ./scripts/circle/run.sh
parallel: true

View File

@@ -77,6 +77,7 @@ module.exports = function(gulp, argv) {
var snapshotValues = _.merge({
browser: 'chrome',
platform: 'linux',
params: {
platform_id: 'chrome_local_test',
width: 400,
@@ -87,6 +88,7 @@ module.exports = function(gulp, argv) {
function snapshot(done, configFile) {
var protractorArgs = [
'--browser <%= browser %>',
'--platform <%= platform %>',
'--params.platform_id=<%= params.platform_id %>',
'--params.width=<%= params.width %>',
'--params.height=<%= params.height %>',

View File

@@ -11,7 +11,8 @@ exports.config = _.merge({}, config, {
build: process.env.SAUCE_BUILD_ID || 1,
'tunnel-identifier': process.env.SAUCE_TUNNEL_ID || 0,
name: 'Ionic!',
browserName: 'chrome'
browserName: 'safari',
platform: 'OS X 10.9'
}
});

29
scripts/circle/run.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
function init {
# Global Variables
export SAUCE_TUNNEL_ID=$($CIRCLE_BUILD_NUM || $RANDOM)
export SAUCE_BUILD_ID=$($CIRCLE_SHA1 || $RANDOM)
}
function run {
case $CIRCLE_NODE_INDEX in
0)
../snapshot/run.sh \
--width="400" \
--height="800" \
--browser="chrome" \
--platform-id="chrome_desktop_small"
;;
1)
../snapshot/run.sh \
--width="400" \
--height="800" \
--browser="safari" \
--platform="OS X 10.9" \
--platform-id="safari_desktop_small"
;;
esac
}
source $(dirname $0)/../utils.inc

View File

@@ -1,32 +1,24 @@
#!/bin/bash
function init {
# Set variables if they aren't, for local testing
if [[ "$SNAPSHOT_BROWSER" == "" ]]; then
export SNAPSHOT_BROWSER=chrome
export SNAPSHOT_BROWSER_ID=chrome_desktop_test
export SNAPSHOT_WIDTH=400
export SNAPSHOT_HEIGHT=800
export SNAPSHOT_TEST_ID=$RANDOM
export SAUCE_TUNNEL_ID=$RANDOM
export SAUCE_BUILD_ID=$RANDOM
else
export SNAPSHOT_TEST_ID=$CIRCLE_SHA1
export SAUCE_TUNNEL_ID=$CIRCLE_BUILD_NUM
export SAUCE_BUILD_ID=$CIRCLE_SHA1
fi
}
ARG_DEFS=(
"--browser=(.*)"
"[--platform=(.*)]"
"--platform-id=(.*)"
"--width=(.*)"
"--height=(.*)"
)
function run {
cd ../..
gulp demos --demo-version=nightly
gulp snapshot-sauce \
--browser "$SNAPSHOT_BROWSER" \
--params.platform_id="$SNAPSHOT_BROWSER_ID" \
--params.width="$SNAPSHOT_WIDTH" \
--params.height="$SNAPSHOT_HEIGHT" \
--params.test_id="$SNAPSHOT_TEST_ID"
--browser "$BROWSER" \
--platform "$PLATFORM" \
--params.platform_id="$PLATFORM_ID" \
--params.width="$WIDTH" \
--params.height="$HEIGHT" \
--params.test_id="$($CIRCLE_SHA1 || $RANDOM)"
}
source $(dirname $0)/../utils.inc