Skip to content

Release 1.30.0: Sync main into develop (#1374) #15

Release 1.30.0: Sync main into develop (#1374)

Release 1.30.0: Sync main into develop (#1374) #15

Workflow file for this run

name: E2E Benchmark
# Runs the benchmark E2E suite (benchmark/e2e), which drives each registered scenario
# (benchmark/src/scenarios/registry.ts) in the standalone benchmark Electron shell and collects
# memory/frame-time samples. Runs on pushes to the long-lived branches - not on a
# schedule or every PR since it's a long-running, resource-sensitive suite whose results are only
# meaningful in a stable environment.
on:
push:
branches: [develop, main]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
e2e-benchmark:
runs-on: ubuntu-latest
name: e2e-benchmark (ubuntu-latest)
# Set a fixed timezone to ensure consistent test results.
env:
TZ: Europe/Lisbon
steps:
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: 24
- run: corepack enable yarn
- name: Restore cache
uses: actions/cache@v6
with:
path: |
.yarn/cache
**/node_modules
key: v5-${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: v5-${{ runner.os }}-yarn-
- run: yarn install --immutable
- name: Apply AppArmor Fix (Ubuntu)
# Required for Playwright/Electron on Ubuntu to work properly
# See: https://github.com/microsoft/playwright/issues/34251
run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
- name: Build benchmark desktop app
run: yarn benchmark:desktop:build:prod
- name: Run Benchmark E2E tests
uses: coactions/setup-xvfb@v1
with:
working-directory: ./
# Call playwright directly with an explicit reporter list instead of relying on
# `yarn test:e2e:benchmark:ci`'s config default: `--reporter=json` alone has no syntax
# for an output path, so without PLAYWRIGHT_JSON_OUTPUT_NAME below the json reporter
# would dump the report to stdout instead of a file.
run: yarn test:e2e:benchmark:ci --reporter=list,json
- name: Generate Benchmark Test Summary
if: always()
run: yarn test:e2e:benchmark:summary >> "$GITHUB_STEP_SUMMARY"