From a1180233f870b6b227da163a2cc3a839f372a546 Mon Sep 17 00:00:00 2001 From: Andrew Joslin Date: Fri, 30 May 2014 00:28:35 -0600 Subject: [PATCH] chore(): add parallel build to circleci --- circle.yml | 9 ++++----- config/gulp-tasks/test.js | 2 ++ config/protractor-sauce.conf.js | 3 ++- scripts/circle/run.sh | 29 ++++++++++++++++++++++++++++ scripts/snapshot/run.sh | 34 +++++++++++++-------------------- 5 files changed, 50 insertions(+), 27 deletions(-) create mode 100755 scripts/circle/run.sh diff --git a/circle.yml b/circle.yml index ca2eedb340..42995b12d4 100644 --- a/circle.yml +++ b/circle.yml @@ -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 diff --git a/config/gulp-tasks/test.js b/config/gulp-tasks/test.js index 467e6d9b82..0de9f2b68a 100644 --- a/config/gulp-tasks/test.js +++ b/config/gulp-tasks/test.js @@ -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 %>', diff --git a/config/protractor-sauce.conf.js b/config/protractor-sauce.conf.js index 5ba37fe356..c41302d590 100644 --- a/config/protractor-sauce.conf.js +++ b/config/protractor-sauce.conf.js @@ -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' } }); diff --git a/scripts/circle/run.sh b/scripts/circle/run.sh new file mode 100755 index 0000000000..093029eab5 --- /dev/null +++ b/scripts/circle/run.sh @@ -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 diff --git a/scripts/snapshot/run.sh b/scripts/snapshot/run.sh index ca2c50c0e9..a878750274 100755 --- a/scripts/snapshot/run.sh +++ b/scripts/snapshot/run.sh @@ -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