From bde2b4425c5e5bd3874c87fefceff37aa28c4802 Mon Sep 17 00:00:00 2001 From: George Kalpakas Date: Thu, 18 Jan 2018 20:58:40 +0200 Subject: [PATCH] ci: use `sudo: false` on Travis (#21641) Related to #21422. PR Close #21641 --- .travis.yml | 4 +--- aio/karma.conf.js | 10 ++++++-- aio/protractor.conf.js | 3 ++- aio/scripts/test-pwa-score.js | 23 +++++++++---------- .../shared/boilerplate/cli/protractor.conf.js | 3 ++- .../examples/shared/protractor.config.js | 3 ++- 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index e6e2305c1b..4326581272 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,5 @@ language: node_js -# Work-around for https://github.com/travis-ci/travis-ci/issues/8836#issuecomment-356362524. -# (Restore `sudo: false` once that is resolved.) -sudo: required +sudo: false dist: trusty node_js: - '8.9.1' diff --git a/aio/karma.conf.js b/aio/karma.conf.js index c2d83c7804..032dd41453 100644 --- a/aio/karma.conf.js +++ b/aio/karma.conf.js @@ -30,8 +30,14 @@ module.exports = function (config) { colors: true, logLevel: config.LOG_INFO, autoWatch: true, - browsers: ['Chrome'], + browsers: ['CustomChrome'], browserNoActivityTimeout: 60000, - singleRun: false + singleRun: false, + customLaunchers: { + CustomChrome: { + base: 'Chrome', + flags: process.env.TRAVIS && ['--no-sandbox'] + } + } }); }; diff --git a/aio/protractor.conf.js b/aio/protractor.conf.js index 1cd695135f..d112804b62 100644 --- a/aio/protractor.conf.js +++ b/aio/protractor.conf.js @@ -12,7 +12,8 @@ exports.config = { browserName: 'chrome', // For Travis chromeOptions: { - binary: process.env.CHROME_BIN + binary: process.env.CHROME_BIN, + args: ['--no-sandbox'] } }, directConnect: true, diff --git a/aio/scripts/test-pwa-score.js b/aio/scripts/test-pwa-score.js index d41db50d0e..f78a48cbd1 100644 --- a/aio/scripts/test-pwa-score.js +++ b/aio/scripts/test-pwa-score.js @@ -17,11 +17,15 @@ const printer = require('lighthouse/lighthouse-cli/printer'); const config = require('lighthouse/lighthouse-core/config/default.js'); // Constants +const CHROME_LAUNCH_OPTS = {}; +const SKIPPED_HTTPS_AUDITS = ['redirects-http']; const VIEWER_URL = 'https://googlechrome.github.io/lighthouse/viewer/'; -// Specify the path to Chrome on Travis + +// Specify the path and flags for Chrome on Travis if (process.env.TRAVIS) { process.env.LIGHTHOUSE_CHROMIUM_PATH = process.env.CHROME_BIN; + CHROME_LAUNCH_OPTS.chromeFlags = ['--no-sandbox']; } // Run @@ -54,18 +58,8 @@ function evaluateScore(expectedScore, actualScore) { } } -function skipHttpsAudits(config) { - const httpsAudits = [ - 'redirects-http' - ]; - - console.info(`Skipping HTTPS-related audits (${httpsAudits.join(', ')})...`); - - config.settings.skipAudits = httpsAudits; -} - function launchChromeAndRunLighthouse(url, flags, config) { - return chromeLauncher.launch().then(chrome => { + return chromeLauncher.launch(CHROME_LAUNCH_OPTS).then(chrome => { flags.port = chrome.port; return lighthouse(url, flags, config). then(results => chrome.kill().then(() => results)). @@ -108,3 +102,8 @@ function processResults(results, logFile) { return promise.then(() => Math.round(results.score)); } + +function skipHttpsAudits(config) { + console.info(`Skipping HTTPS-related audits (${SKIPPED_HTTPS_AUDITS.join(', ')})...`); + config.settings.skipAudits = SKIPPED_HTTPS_AUDITS; +} diff --git a/aio/tools/examples/shared/boilerplate/cli/protractor.conf.js b/aio/tools/examples/shared/boilerplate/cli/protractor.conf.js index 3f413bd30f..538347e526 100644 --- a/aio/tools/examples/shared/boilerplate/cli/protractor.conf.js +++ b/aio/tools/examples/shared/boilerplate/cli/protractor.conf.js @@ -12,7 +12,8 @@ exports.config = { 'browserName': 'chrome', // For Travis CI only chromeOptions: { - binary: process.env.CHROME_BIN + binary: process.env.CHROME_BIN, + args: ['--no-sandbox'] } }, directConnect: true, diff --git a/aio/tools/examples/shared/protractor.config.js b/aio/tools/examples/shared/protractor.config.js index b5c090e2df..4e97cc1d6a 100644 --- a/aio/tools/examples/shared/protractor.config.js +++ b/aio/tools/examples/shared/protractor.config.js @@ -23,7 +23,8 @@ exports.config = { 'browserName': 'chrome', // For Travis chromeOptions: { - binary: process.env.CHROME_BIN + binary: process.env.CHROME_BIN, + args: ['--no-sandbox'] } },