puppeteer/.travis.yml
Mathias Bynens 8c98315f40
chore: clarify node_js versions in Travis config (#6570)
This patch makes it so that we only refer to specific Node.js versions like `10.19.0` when we really mean to use exactly that version. Usually we just want to test the latest version in a major range, e.g. `10`.

It also adds an inline comment that makes it easier to update the versions across the file in the future (e.g. when Node.js 10 goes EOL in April 2021).

Issue: #6561
2020-11-04 12:45:52 +01:00

119 lines
3.5 KiB
YAML

language: node_js
services: xvfb
# Throughout this file, the following `node_js` versions are being used:
#
# - node_js: '10' # The maintenance LTS version.
# - node_js: '12' # The oldest major active LTS version.
# - node_js: '14' # The newest major active LTS version.
jobs:
include:
- os: 'osx'
name: 'Unit tests: macOS/Chromium'
node_js: '10' # The maintenance LTS version.
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' # The maintenance LTS version.
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' # The maintenance LTS version.
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' # The oldest major active LTS version.
name: 'Unit tests [Node 12]: Linux/Chromium'
env:
- CHROMIUM=true
before_install:
- PUPPETEER_PRODUCT=firefox npm install
script:
- npm run unit
- node_js: '14' # The newest major active LTS version.
name: 'Unit tests [Node 14]: Linux/Chromium'
env:
- CHROMIUM=true
before_install:
- PUPPETEER_PRODUCT=firefox npm install
script:
- npm run unit
- node_js: '12' # The oldest major active LTS version.
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' # The maintenance LTS version.
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' # The maintenance LTS version.
name: 'Test bundling and install of packages'
env:
- CHROMIUM=true
script:
- npm run test-install
- node_js: '10' # The maintenance LTS version.
name: 'Unit tests: Linux/Firefox'
env:
- FIREFOX=true
before_install:
- PUPPETEER_PRODUCT=firefox npm install
script:
- npm run funit
notifications:
email: false