Skip to content

Add occurrence param to Spec.findEvent #2128

Add occurrence param to Spec.findEvent

Add occurrence param to Spec.findEvent #2128

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
# Keep these numeric: the Guide Snippets Check step below is gated
# on `matrix.node-version == 22`, which silently never matches if
# these become strings like "22.x".
node-version: [22, 24]
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup pnpm
uses: pnpm/action-setup@v6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- name: Enable Corepack
run: corepack enable
- name: Install Dependencies
run: pnpm install --frozen-lockfile --network-concurrency 1
- name: Install Playwright Chromium
run: pnpm exec playwright install chromium
- name: Install Playwright Firefox
run: pnpm exec playwright install firefox
- name: Install Playwright system dependencies
run: pnpm exec playwright install-deps chromium firefox
- name: Build
run: pnpm run build:prod
- name: Unit Tests
run: pnpm run test:node
- name: Integration Tests
run: pnpm run test:integration
# Hermetic guide-snippet gate: validates docs snippet markers and
# typechecks examples/guides against src/, so an SDK API change that
# breaks documented example code fails the PR. Execution of the
# snippets runs in the guides_pr.yml quickstart job, not here.
# tsc output does not vary by Node version, so run once.
- name: Guide Snippets Check
if: matrix.node-version == 22
run: pnpm run docs:snippets:check
- name: Browser Tests
run: pnpm run test:browser
- name: Browser Tests (Axios)
run: pnpm run test:browser:axios
# Placeholder to satisfy the `build_and_test (20)` required status check in
# the `protect-main` ruleset. Node 20 was dropped from the test matrix
# (engines.node is now >=22), but the ruleset still requires that context by
# name, so without this every PR would stay "Expected" and block merge.
# Remove this job once the ruleset is repointed to `build_and_test (22)`.
build_and_test_node20_placeholder:
name: build_and_test (20)
runs-on: ubuntu-latest
steps:
- name: No-op
run: echo "Node 20 is no longer supported; placeholder for the required status check."