From 2c2adbcab54d3504f1ae9c91b761c2a18a5d8468 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Mon, 1 Jul 2013 16:21:56 -0700 Subject: chore(travis): speed up the build - parallelize the tasks - cache requests (e2e tests) This reduces the time from ~18min to ~12min. It makes the output little messy. We could buffer output of each task and display it once it's fully finished, nicely. I think giving instant feedback is better. --- lib/grunt/utils.js | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/grunt/utils.js b/lib/grunt/utils.js index 23211039..44332380 100644 --- a/lib/grunt/utils.js +++ b/lib/grunt/utils.js @@ -36,11 +36,13 @@ module.exports = { var browsers = grunt.option('browsers'); var reporters = grunt.option('reporters'); var noColor = grunt.option('no-colors'); + var port = grunt.option('port'); var p = spawn('node', ['node_modules/karma/bin/karma', 'start', config, singleRun ? '--single-run=true' : '', reporters ? '--reporters=' + reporters : '', browsers ? '--browsers=' + browsers : '', - noColor ? '--no-colors' : '' + noColor ? '--no-colors' : '', + port ? '--port=' + port : '' ]); p.stdout.pipe(process.stdout); p.stderr.pipe(process.stderr); @@ -235,5 +237,24 @@ module.exports = { } next(); }; - } + }, + + parallelTask: function(name) { + var args = [name, '--port=' + this.lastParallelTaskPort]; + + if (grunt.option('browsers')) { + args.push('--browsers=' + grunt.option('browsers')); + } + + if (grunt.option('reporters')) { + args.push('--reporters=' + grunt.option('reporters')); + } + + this.lastParallelTaskPort++; + + + return {grunt: true, args: args}; + }, + + lastParallelTaskPort: 9876 }; -- cgit v1.2.3