language: node_js services: xvfb jobs: include: - os: 'osx' name: 'Unit tests: macOS/Chromium' node_js: '10.19.0' osx_image: xcode11.4 env: - CHROMIUM=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - ls .local-chromium .local-firefox - npm run tsc - npm run unit - os: 'windows' name: 'Unit tests: Windows/Chromium' node_js: '10.19.0' env: - CHROMIUM=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - ls .local-chromium .local-firefox - npm run tsc - travis_retry npm run unit # Node <10.17's fs.promises module was experimental and doesn't behave as # expected. This problem was fixed in Node 10.19, but we run the unit tests # through on 10.15 to make sure we don't cause any regressions when using # fs.promises. See https://github.com/puppeteer/puppeteer/issues/6548 for an # example. - node_js: '10.15.0' name: 'Node 10.15 Unit tests: Linux/Chromium' env: - CHROMIUM=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - npm run unit - node_js: '10.19.0' name: 'Unit tests [with coverage]: Linux/Chromium' env: - CHROMIUM=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - travis_retry npm run unit-with-coverage - npm run assert-unit-coverage - node_js: '12.16.3' name: 'Unit tests [Node 12]: Linux/Chromium' env: - CHROMIUM=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - npm run unit - node_js: '14.2.0' name: 'Unit tests [Node 14]: Linux/Chromium' env: - CHROMIUM=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - npm run unit - node_js: '12.16.3' name: 'Browser tests: Linux/Chromium' addons: chrome: stable env: - CHROMIUM=true script: - npm run test-browser # This bot runs all the extra checks that aren't the main Puppeteer unit tests - node_js: '10.19.0' name: 'Extra tests: Linux/Chromium' env: - CHROMIUM=true script: - npm run lint # Ensure that we can generate the new docs without erroring - npm run generate-docs - npm run ensure-correct-devtools-protocol-revision # This bot runs separately as it changes package.json to test puppeteer-core # and we don't want that leaking into other bots and causing issues. - node_js: '10.19.0' name: 'Test bundling and install of packages' env: - CHROMIUM=true script: - npm run test-install # Runs unit tests on Linux + Firefox - node_js: '10.19.0' name: 'Unit tests: Linux/Firefox' env: - FIREFOX=true before_install: - PUPPETEER_PRODUCT=firefox npm install script: - npm run funit notifications: email: false