a5e9b5c512
It is flakey on the bots and we're not actively using it yet, so let's disable it for now. We will work on extracting this into its own repo and that work is tracked in https://github.com/puppeteer/puppeteer/issues/7710.
179 lines
4.7 KiB
YAML
179 lines
4.7 KiB
YAML
name: run-checks
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
linux-main-checks:
|
|
# https://github.com/actions/virtual-environments#available-environments
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
# Include all major maintenance + active LTS + current Node.js versions.
|
|
# https://github.com/nodejs/Release#release-schedule
|
|
node: [12, 14, 16]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 2
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
node-version: ${{ matrix.node }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get install xvfb
|
|
# Ensure both a Chromium and a Firefox binary are available.
|
|
PUPPETEER_PRODUCT=firefox npm install
|
|
npm install
|
|
ls .local-chromium .local-firefox
|
|
|
|
- name: Build
|
|
run: |
|
|
npm run build
|
|
|
|
- name: Run code checks
|
|
run: |
|
|
npm run ensure-pinned-deps
|
|
npm run lint
|
|
# Skipping as it's flakey and we are not currently using the new documentation site in the wild yet.
|
|
# See https://github.com/puppeteer/puppeteer/issues/7710 for more info
|
|
# npm run generate-docs
|
|
npm run ensure-correct-devtools-protocol-revision
|
|
npm run test-types-file
|
|
|
|
- name: Run unit tests
|
|
uses: nick-invision/retry@v2
|
|
env:
|
|
CHROMIUM: true
|
|
with:
|
|
max_attempts: 3
|
|
command: xvfb-run --auto-servernum npm run unit
|
|
timeout_minutes: 10
|
|
|
|
- name: Run unit tests with coverage
|
|
env:
|
|
CHROMIUM: true
|
|
run: |
|
|
xvfb-run --auto-servernum npm run unit-with-coverage
|
|
xvfb-run --auto-servernum npm run assert-unit-coverage
|
|
|
|
- name: Run unit tests on Firefox
|
|
uses: nick-invision/retry@v2
|
|
env:
|
|
FIREFOX: true
|
|
MOZ_WEBRENDER: 0
|
|
with:
|
|
max_attempts: 3
|
|
timeout_minutes: 10
|
|
command: xvfb-run --auto-servernum npm run funit
|
|
|
|
- name: Run browser tests
|
|
run: |
|
|
npm run test-browser
|
|
|
|
- name: Test bundling and installation
|
|
env:
|
|
CHROMIUM: true
|
|
run: |
|
|
# Note: this modifies package.json to test puppeteer-core.
|
|
npm run test-install
|
|
# Undo those changes.
|
|
git checkout --force
|
|
|
|
macos:
|
|
# https://github.com/actions/virtual-environments#available-environments
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 2
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
# Test only the oldest maintenance LTS Node.js version.
|
|
# https://github.com/nodejs/Release#release-schedule
|
|
node-version: 12
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
# Test platform-specific browser binary fetching for both
|
|
# Chromium and Firefox.
|
|
PUPPETEER_PRODUCT=firefox npm install
|
|
npm install
|
|
ls .local-chromium .local-firefox
|
|
|
|
- name: Build
|
|
run: |
|
|
npm run build
|
|
|
|
- name: Run unit tests
|
|
env:
|
|
CHROMIUM: true
|
|
run: |
|
|
npm run unit
|
|
|
|
- name: Run unit tests on Firefox
|
|
uses: nick-invision/retry@v2
|
|
with:
|
|
max_attempts: 3
|
|
timeout_minutes: 10
|
|
command: npm run funit
|
|
|
|
windows:
|
|
# https://github.com/actions/virtual-environments#available-environments
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 2
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v1
|
|
with:
|
|
# Test only the oldest maintenance LTS Node.js version.
|
|
# https://github.com/nodejs/Release#release-schedule
|
|
node-version: 12
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
# Test platform-specific browser binary fetching for both
|
|
# Chromium and Firefox.
|
|
$env:PUPPETEER_PRODUCT='firefox'
|
|
npm install
|
|
Remove-Item Env:\PUPPETEER_PRODUCT
|
|
npm install
|
|
Get-ChildItem -Path .local-chromium,.local-firefox
|
|
|
|
- name: Build
|
|
run: |
|
|
npm run build
|
|
|
|
- name: Run unit tests
|
|
env:
|
|
CHROMIUM: true
|
|
run: |
|
|
npm run unit
|
|
|
|
- name: Run unit tests on Firefox
|
|
uses: nick-invision/retry@v2
|
|
continue-on-error: true
|
|
env:
|
|
FIREFOX: true
|
|
MOZ_WEBRENDER: 0
|
|
with:
|
|
max_attempts: 3
|
|
timeout_minutes: 10
|
|
command: npm run funit
|