diff options
| author | Vojta Jina | 2013-08-21 03:16:57 -0700 | 
|---|---|---|
| committer | Vojta Jina | 2013-08-23 16:49:10 -0700 | 
| commit | 80d0f98263786ef302ca7551c4515560a7c07195 (patch) | |
| tree | 03d603ef6d1294ed75f346faa5509be105decd27 | |
| parent | c64a9853074a392ba83a0f790b28b3be96c1144a (diff) | |
| download | angular.js-80d0f98263786ef302ca7551c4515560a7c07195.tar.bz2 | |
chore(travis): clean up logs
Forward SauceConnect logs and Karma debug logs into a file and print these files at the very end of a build.
| -rw-r--r-- | .travis.yml | 7 | ||||
| -rw-r--r-- | karma-docs.conf.js | 4 | ||||
| -rw-r--r-- | karma-e2e.conf.js | 4 | ||||
| -rw-r--r-- | karma-jqlite.conf.js | 4 | ||||
| -rw-r--r-- | karma-jquery.conf.js | 4 | ||||
| -rw-r--r-- | karma-modules.conf.js | 4 | ||||
| -rw-r--r-- | karma-shared.conf.js | 17 | ||||
| -rwxr-xr-x | lib/sauce/sauce_connect_setup.sh | 19 | ||||
| -rwxr-xr-x | travis_print_logs.sh | 11 | 
9 files changed, 49 insertions, 25 deletions
| diff --git a/.travis.yml b/.travis.yml index bf7e5145..eb4e5f6d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,13 @@ env:      - SAUCE_USERNAME=angular-ci      - SAUCE_ACCESS_KEY=9b988f434ff8-fbca-8aa4-4ae3-35442987      - SAUCE_CONNECT_READY_FILE=/tmp/sauce-connect-ready +    - LOGS_DIR=/tmp/angular-build/logs + +before_script: +  - mkdir -p $LOGS_DIR  script:    - ./travis_build.sh + +after_script: +  - ./travis_print_logs.sh diff --git a/karma-docs.conf.js b/karma-docs.conf.js index c3faf673..b0ef4e0f 100644 --- a/karma-docs.conf.js +++ b/karma-docs.conf.js @@ -1,7 +1,7 @@  var sharedConfig = require('./karma-shared.conf');  module.exports = function(config) { -  sharedConfig(config); +  sharedConfig(config, {testName: 'AngularJS: docs', logFile: 'karma-docs.log'});    config.set({      files: [ @@ -35,6 +35,4 @@ module.exports = function(config) {        suite: 'Docs'      }    }); - -  config.sauceLabs.testName = 'AngularJS: docs';  }; diff --git a/karma-e2e.conf.js b/karma-e2e.conf.js index d9a92e99..3d839a33 100644 --- a/karma-e2e.conf.js +++ b/karma-e2e.conf.js @@ -1,7 +1,7 @@  var sharedConfig = require('./karma-shared.conf');  module.exports = function(config) { -  sharedConfig(config); +  sharedConfig(config, {testName: 'AngularJS: e2e', logFile: 'karma-e2e.log'});    config.set({      frameworks: [], @@ -22,6 +22,4 @@ module.exports = function(config) {        suite: 'E2E'      }    }); - -  config.sauceLabs.testName = 'AngularJS: e2e';  }; diff --git a/karma-jqlite.conf.js b/karma-jqlite.conf.js index bf190f5e..267e952f 100644 --- a/karma-jqlite.conf.js +++ b/karma-jqlite.conf.js @@ -2,7 +2,7 @@ var angularFiles = require('./angularFiles');  var sharedConfig = require('./karma-shared.conf');  module.exports = function(config) { -  sharedConfig(config); +  sharedConfig(config, {testName: 'AngularJS: jqLite', logFile: 'karma-jqlite.log'});    config.set({      files: angularFiles.mergeFilesFor('karma'), @@ -13,6 +13,4 @@ module.exports = function(config) {        suite: 'jqLite'      }    }); - -  config.sauceLabs.testName = 'AngularJS: jqLite';  }; diff --git a/karma-jquery.conf.js b/karma-jquery.conf.js index 126b3e1d..4af9508d 100644 --- a/karma-jquery.conf.js +++ b/karma-jquery.conf.js @@ -2,7 +2,7 @@ var angularFiles = require('./angularFiles');  var sharedConfig = require('./karma-shared.conf');  module.exports = function(config) { -  sharedConfig(config); +  sharedConfig(config, {testName: 'AngularJS: jQuery', logFile: 'karma-jquery.log'});    config.set({      files: angularFiles.mergeFilesFor('karmaJquery'), @@ -13,6 +13,4 @@ module.exports = function(config) {        suite: 'jQuery'      }    }); - -  config.sauceLabs.testName = 'AngularJS: jQuery';  }; diff --git a/karma-modules.conf.js b/karma-modules.conf.js index 9bbdec67..ecbaee21 100644 --- a/karma-modules.conf.js +++ b/karma-modules.conf.js @@ -2,7 +2,7 @@ var angularFiles = require('./angularFiles');  var sharedConfig = require('./karma-shared.conf');  module.exports = function(config) { -  sharedConfig(config); +  sharedConfig(config, {testName: 'AngularJS: modules', logFile: 'karma-modules.log'});    config.set({      files: angularFiles.mergeFilesFor('karmaModules', 'angularSrcModules'), @@ -12,6 +12,4 @@ module.exports = function(config) {        suite: 'modules'      }    }); - -  config.sauceLabs.testName = 'AngularJS: modules';  }; diff --git a/karma-shared.conf.js b/karma-shared.conf.js index 06f31108..28978097 100644 --- a/karma-shared.conf.js +++ b/karma-shared.conf.js @@ -1,4 +1,4 @@ -module.exports = function(config) { +module.exports = function(config, specificOptions) {    config.set({      frameworks: ['jasmine'],      autoWatch: true, @@ -9,11 +9,13 @@ module.exports = function(config) {      // config for Travis CI      sauceLabs: { -      testName: 'AngularJS', +      testName: specificOptions.testName || 'AngularJS',        startConnect: false,        tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER      }, +    // For more browsers on Sauce Labs see: +    // https://saucelabs.com/docs/platforms/webdriver      customLaunchers: {        'SL_Chrome': {          base: 'SauceLabs', @@ -51,9 +53,16 @@ module.exports = function(config) {    }); -  // TODO(vojta): remove once SauceLabs supports websockets. -  // This speeds up the capturing a bit, as browsers don't even try to use websocket.    if (process.env.TRAVIS) { +    // TODO(vojta): remove once SauceLabs supports websockets. +    // This speeds up the capturing a bit, as browsers don't even try to use websocket.      config.transports = ['xhr-polling']; + +    // Debug logging into a file, that we print out at the end of the build. +    config.loggers.push({ +      type: 'file', +      filename: process.env.LOGS_DIR + '/' + (specificOptions.logFile || 'karma.log'), +      level: config.LOG_DEBUG +    });    }  }; diff --git a/lib/sauce/sauce_connect_setup.sh b/lib/sauce/sauce_connect_setup.sh index 7dfb6ba5..61ab9e2d 100755 --- a/lib/sauce/sauce_connect_setup.sh +++ b/lib/sauce/sauce_connect_setup.sh @@ -15,13 +15,16 @@ set -e  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" + +CONNECT_LOG="$LOGS_DIR/sauce-connect" +CONNECT_STDOUT="$LOGS_DIR/sauce-connect.stdout" +CONNECT_STDERR="$LOGS_DIR/sauce-connect.stderr"  # Get Connect and start it  mkdir -p $CONNECT_DIR  cd $CONNECT_DIR -curl $CONNECT_URL > $CONNECT_DOWNLOAD 2> /dev/null -unzip $CONNECT_DOWNLOAD +curl $CONNECT_URL -o $CONNECT_DOWNLOAD 2> /dev/null 1> /dev/null +unzip $CONNECT_DOWNLOAD > /dev/null  rm $CONNECT_DOWNLOAD @@ -36,6 +39,10 @@ if [ ! -z "$SAUCE_CONNECT_READY_FILE" ]; then    ARGS="$ARGS --readyfile $SAUCE_CONNECT_READY_FILE"  fi -echo "Starting Sauce Connect in the background" -echo "Logging into $CONNECT_LOG" -java -jar Sauce-Connect.jar $ARGS $SAUCE_USERNAME $SAUCE_ACCESS_KEY > $CONNECT_LOG & + +echo "Starting Sauce Connect in the background, logging into:" +echo "  $CONNECT_LOG" +echo "  $CONNECT_STDOUT" +echo "  $CONNECT_STDERR" +java -jar Sauce-Connect.jar $ARGS $SAUCE_USERNAME $SAUCE_ACCESS_KEY \ +  --logfile $CONNECT_LOG 2> $CONNECT_STDERR 1> $CONNECT_STDOUT & diff --git a/travis_print_logs.sh b/travis_print_logs.sh new file mode 100755 index 00000000..ec612ca1 --- /dev/null +++ b/travis_print_logs.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +LOG_FILES=$LOGS_DIR/* + +for FILE in $LOG_FILES; do +  echo -e "\n\n\n" +  echo "================================================================================" +  echo " $FILE" +  echo "================================================================================" +  cat $FILE +done | 
