diff --git a/.travis.yml b/.travis.yml index 8f2dc190b244aaca066841f124e9091499d90d04..71c72ccf53d17f2e9ad8888d670925bb633f12f8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,10 @@ language: node_js email: on_failure: change on_success: never +before_script: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" + - sleep 3 # give xvfb some time to start after_success: - npm run coveralls env: diff --git a/karma.conf.js b/karma.conf.js index ac0286f7415ae16a4471dfe42f9188d8c5a50e38..2275e471dedd5f9b596fa37a2b318b62cf7e33d0 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -16,10 +16,7 @@ module.exports = function(config) { var customLaunchers = {}; var browsers = []; - if (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY) { - console.log('Running locally since SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.'); - browsers = ['Firefox', 'Chrome', 'Safari', 'Opera']; - } else { + if (process.env.SAUCE_USERNAME || process.env.SAUCE_ACCESS_KEY) { customLaunchers = {}; var runAll = true; @@ -99,6 +96,15 @@ module.exports = function(config) { } browsers = Object.keys(customLaunchers); + } else if (process.env.TRAVIS_PULL_REQUEST && process.env.TRAVIS_PULL_REQUEST !== 'false') { + console.log( + 'Cannot run on Sauce Labs as encrypted environment variables are not available to PRs. ' + + 'Running on Travis.' + ); + browsers = ['Firefox']; + } else { + console.log('Running locally since SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are not set.'); + browsers = ['Firefox', 'Chrome', 'Safari', 'Opera']; } config.set({ @@ -199,7 +205,7 @@ module.exports = function(config) { } }, - + // Coverage reporting coverageReporter: { type: 'lcov',