chore: add GitHub Action workflow for main CI checks (#6739)

This commit is contained in:
Mathias Bynens 2021-01-12 11:48:33 +01:00 committed by GitHub
parent 9a8479a52a
commit 9dd1aa302d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

79
.github/workflows/main.yml vendored Normal file
View File

@ -0,0 +1,79 @@
name: run-checks
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
checks:
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
ref: ${{ github.head_ref }}
- 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 lint
npm run generate-docs
npm run ensure-correct-devtools-protocol-revision
- 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
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