Skip to content

Workflow file for this run

# This workflow will run headful and headless E2E tests.
name: E2E tests
# Declare default permissions as read only.
permissions: read-all
env:
DEBUG: 'bidi:server:*,bidi:mapper:*'
DEBUG_DEPTH: 10
FORCE_COLOR: 3
PIP_DISABLE_PIP_VERSION_CHECK: 1
on:
merge_group:
pull_request:
push:
branches: 'main'
workflow_dispatch:
inputs:
verbose:
description: Verbose logging
default: false
required: false
type: boolean
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
cache-browser-binaries:
uses: ./.github/common/cache-browser-binaries.yml@f1009ed9

Check failure on line 33 in .github/workflows/check_cache.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/check_cache.yml

Invalid workflow file

invalid value workflow reference: references to workflows must be rooted in '.github/workflows'
e2e-required:
name: '[Required] e2e sink'
needs: [e2e]
runs-on: ubuntu-latest
if: always()
steps:
- if: ${{ needs.e2e.result != 'success' }}
run: 'exit 1'
- run: 'exit 0'
e2e:
needs: [cache-browser-binaries]
name: ${{ matrix.this_chunk }}/${{ matrix.total_chunks }} ${{ matrix.os }}-${{ matrix.head }}
strategy:
fail-fast: false
matrix:
# TODO(#876): Add Windows CI.
# TODO(#2154): Use macos-latest once Python setup supports mac arm64.
os: [ubuntu-latest, macos-13]
head: [headful, 'new-headless', 'old-headless']
total_chunks: [4]
this_chunk: [0, 1, 2, 3]
exclude:
- os: macos-13
head: new-headless
- os: macos-13
head: old-headless
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Node.js
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version-file: '.nvmrc'
cache: npm
- uses: google/wireit@83d7f8bed70b7bcfc40f4b9f54f4b7485753991b # setup-github-actions-caching/v2.0.1
- name: Install and build npm dependencies
run: npm ci
- name: ls cache
run: find ~/ -maxdepth 1 -type d -name ".cache" -exec ls {}/chromium-bidi \;
- name: Setup cache for browser binaries
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
with:
path: ~/.cache/chromium-bidi/chrome
key: ${{ runner.os }}-chrome-${{ hashFiles('.browser') }}
- name: ls cache
run: find ~/ -maxdepth 1 -type d -name ".cache" -exec ls {}/chromium-bidi \;
- name: Install pinned browser
id: browser
run: node tools/install-browser.mjs --github
- name: Install pinned chrome
id: chrome
run: node tools/install-browser.mjs ~/.cache/chromium-bidi --github
- name: Install pinned chrome headless shell
id: headless-shell
run: node tools/install-browser.mjs ~/.cache/chromium-bidi --chrome-headless-shell --github
- name: ls cache
run: ls ~/.cache/chromium-bidi
- name: paths
run: |
echo "browser: ${{ steps.browser.outputs.executablePath }}"
echo "chrome: ${{ steps.chrome.outputs.executablePath }}"
echo "headless-shell: ${{ steps.headless-shell.outputs.executablePath }}"