puppeteer/.github/workflows/devtools.yml

83 lines
2.8 KiB
YAML
Raw Normal View History

2023-04-25 13:12:32 +00:00
name: DevTools CI
# Declare default permissions as read only.
permissions: read-all
on:
2023-04-25 14:12:18 +00:00
pull_request:
types: [labeled]
2023-04-25 13:12:32 +00:00
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-puppeteer:
name: Build Puppeteer
runs-on: ubuntu-latest
2023-04-25 14:12:18 +00:00
if: contains(github.event.label.name, 'devtools')
2023-04-25 13:12:32 +00:00
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
2023-04-25 13:12:32 +00:00
- name: Set up Node.js
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
2023-04-25 13:12:32 +00:00
with:
cache: npm
node-version: lts/*
- name: Install dependencies
run: npm ci
env:
PUPPETEER_SKIP_DOWNLOAD: true
- name: Build Puppeteer
run: |
2023-04-25 13:35:56 +00:00
npm run build --workspace @puppeteer/browsers
2023-04-25 13:12:32 +00:00
npm run build --workspace puppeteer-core
npm run build --workspace puppeteer
- name: Pack Puppeteer
run: |
2023-04-25 13:35:56 +00:00
npm pack --workspace @puppeteer/browsers
2023-04-25 13:12:32 +00:00
npm pack --workspace puppeteer-core
npm pack --workspace puppeteer
- name: Upload Puppeteer build
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
2023-04-25 13:12:32 +00:00
with:
name: puppeteer-build
if-no-files-found: error
path: puppeteer-*.tgz
devtools-tests:
name: DevTools tests
needs: build-puppeteer
runs-on: ubuntu-latest
steps:
- name: Download Puppeteer build
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
2023-04-25 13:12:32 +00:00
with:
name: puppeteer-build
- name: Set up Node.js
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
2023-04-25 13:12:32 +00:00
with:
node-version: lts/*
2023-04-25 13:12:32 +00:00
- name: Checkout depot_tools
run: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- name: Add depot_tools to path
run: echo $(realpath depot_tools) >> $GITHUB_PATH
- name: Fetch devtools-frontend
run: fetch devtools-frontend
- name: Sync gclient
working-directory: devtools-frontend
run: gclient sync
- name: Install Puppeteer
working-directory: devtools-frontend
run: |
2023-04-25 13:20:52 +00:00
puppeteer_pkgs=(../puppeteer-*.tgz)
2023-04-25 13:12:32 +00:00
tar -xf ${puppeteer_pkgs[0]} --strip-components 1 -C node_modules/puppeteer
2023-04-25 13:35:56 +00:00
tar -xf ${puppeteer_pkgs[1]} --strip-components 1 -C node_modules/@puppeteer/browsers
tar -xf ${puppeteer_pkgs[2]} --strip-components 1 -C node_modules/puppeteer-core
2023-04-25 13:12:32 +00:00
- name: Generate targets
working-directory: devtools-frontend
run: gn gen out/Default --args='devtools_skip_typecheck=true'
- name: Run tests
working-directory: devtools-frontend
run: npm run auto-e2etest