Repository navigation
Release 1.30.0: Sync main into develop (#1374) #15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |