mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
4796382f01
* chore: enforce pinned dependencies Because we don't check our `package-lock.json` in, we can end up with different versions installed locally vs CI, or even two devs having different versions. Let's pin and enforce we pin every version to avoid this.
166 lines
4.1 KiB
YAML
166 lines
4.1 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 Node.js versions.
|
|
# https://github.com/nodejs/Release#release-schedule
|
|
node: [10, 12, 14]
|
|
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
|
|
npm run generate-docs
|
|
npm run ensure-correct-devtools-protocol-revision
|
|
npm run test-types-file
|
|
|
|
- name: Run unit tests
|
|
env:
|
|
CHROMIUM: true
|
|
run: |
|
|
xvfb-run --auto-servernum npm run unit
|
|
|
|
- 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
|
|
env:
|
|
FIREFOX: true
|
|
MOZ_WEBRENDER: 0
|
|
run: |
|
|
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: 10
|
|
|
|
- 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
|
|
env:
|
|
FIREFOX: true
|
|
MOZ_WEBRENDER: 0
|
|
run: |
|
|
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: 10
|
|
|
|
- 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
|
|
env:
|
|
FIREFOX: true
|
|
MOZ_WEBRENDER: 0
|
|
run: |
|
|
npm run funit
|