summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/.travis.yml
blob: 3dccb9acedfcac126f57c2a83f09991c9b5c1195 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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