mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-15 06:12:50 -07:00
6355e2d8a1
Comprehensive automation upgrades for performance and memory baselines. Includes GitHub Actions workflows for remote updates, automatic local comparisons against main, and git-ignored temporary baselines. - Added update-baselines.yml GitHub Action to automate remote baseline upgrades efficiently in CI. - Created scripts/run-perf-tests.js to wrap performance executions, safely stashing dirty alterations and gathering main-branch baselines locally when run without arguments. - Enhanced PerfTestHarness and MemoryTestHarness to accommodate tolerance limits assertions safely. - Updated test files to process TEMP_BASELINES_PATH environment variables, protecting tracked files clean during local evaluations. - Formed docs/performance-and-memory-testing.md safely centrally detailing general strategies. - Obsoleted folder files perf-tests/README.md, and memory-tests/README.md deleted altogether. - Registered temporary baseline outputs inside .gitignore and updated scripts/clean.js safely for fast removals on npm run clean.
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: 'Performance Tests: Nightly'
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 3 * * *' # Runs at 3 AM every day
|
|
workflow_dispatch: # Allow manual trigger
|
|
|
|
permissions:
|
|
contents: 'read'
|
|
|
|
jobs:
|
|
perf-test:
|
|
name: 'Run Performance Tests (${{ matrix.machine_family }})'
|
|
if: "github.repository == 'google-gemini/gemini-cli'"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- runs_on: 'gemini-cli-ubuntu-16-core'
|
|
machine_family: 'gemini-cli-ubuntu-16-core'
|
|
- runs_on: 'macos-latest'
|
|
machine_family: 'macos-latest'
|
|
- runs_on: 'gemini-cli-windows-16-core'
|
|
machine_family: 'gemini-cli-windows-16-core'
|
|
runs-on: '${{ matrix.runs_on }}'
|
|
env:
|
|
PERF_MACHINE_FAMILY: '${{ matrix.machine_family }}'
|
|
steps:
|
|
- name: 'Checkout'
|
|
uses: 'actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8' # ratchet:actions/checkout@v5
|
|
|
|
- name: 'Set up Node.js'
|
|
uses: 'actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020' # ratchet:actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache: 'npm'
|
|
|
|
- name: 'Install dependencies'
|
|
run: 'npm ci'
|
|
|
|
- name: 'Build project'
|
|
run: 'npm run build'
|
|
|
|
- name: 'Run Performance Tests'
|
|
run: 'npm run test:perf'
|