puppeteer/.travis.yml
Jack Franklin e45acce928
chore: run unit tests on node 10.15 + fix fs.promises access (#6550)
* chore: run unit tests on node 10.15

We saw in https://github.com/puppeteer/puppeteer/issues/6548 that the
`fs.promises` module was experimental in Node <10.17 and as such we
introduced issues for users on 10.15.

Until we can drop Node v10 (it's EOL is 30-04-20201
https://github.com/nodejs/Release#release-schedule) we should run our
tests on an old Node 10 to avoid regressing in this area.

* chore: helper for importing fs safely
2020-10-26 11:02:05 +00:00

114 lines
3.0 KiB
YAML

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