Use all the available cores on CI

This commit is contained in:
Kevin Sawicki
2014-10-20 13:34:41 -07:00
parent 4d1e488ef4
commit 177b3a6d14

View File

@@ -4,6 +4,12 @@ path = require 'path'
_ = require 'underscore-plus'
async = require 'async'
if process.env.JANKY_SHA1
# Use all the cores on CI
concurrency = require('os').cpus().length
else
concurrency = 2
module.exports = (grunt) ->
{isAtomPackage, spawn} = require('./task-helpers')(grunt)
@@ -61,7 +67,7 @@ module.exports = (grunt) ->
continue unless isAtomPackage(packagePath)
packageSpecQueue.push(packagePath)
packageSpecQueue.concurrency = 1
packageSpecQueue.concurrency = concurrency - 1
packageSpecQueue.drain = -> callback(null, failedPackages)
runCoreSpecs = (callback) ->
@@ -84,7 +90,7 @@ module.exports = (grunt) ->
fs.unlinkSync('ci.log')
else
# TODO: Restore concurrency on Windows
packageSpecQueue.concurrency = 2
packageSpecQueue.concurrency = concurrency
callback(null, error)
@@ -102,7 +108,7 @@ module.exports = (grunt) ->
method [runCoreSpecs, runPackageSpecs], (error, results) ->
[coreSpecFailed, failedPackages] = results
elapsedTime = Math.round((Date.now() - startTime) / 100) / 10
grunt.log.ok("Total spec time: #{elapsedTime}s")
grunt.log.ok("Total spec time: #{elapsedTime}s using #{concurrency} cores")
failures = failedPackages
failures.push "atom core" if coreSpecFailed