google-gemini / google-gemini/gemini-cli
Nightly performance tests abort after ripgrep resolver rename
- Dominant language
- TypeScript
- Stars
- 107k
- Forks
- 14.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 45
Description
## What happened
The scheduled [Performance Tests: Nightly](https://github.com/google-gemini/gemini-cli/actions/workflows/perf-nightly.yml) workflow aborts in global setup before any performance test executes.
`perf-tests/globalSetup.ts` still imports and calls `canUseRipgrep`, but current `packages/core/src/tools/ripGrep.ts` no longer exports that function. It was replaced by `resolveRipgrepPath` in `0750b01fe4e7b62d55d92918b1c4535a77acc334`.
The first nightly after that change, [run 25841561983](https://github.com/google-gemini/gemini-cli/actions/runs/25841561983), reports:
```text
No test files found, exiting with code 1
TypeError: (0 , __vite_ssr_import_3__.canUseRipgrep) is not a function
Object.setup globalSetup.ts:27:66
```
The latest checked run, [29470500728](https://github.com/google-gemini/gemini-cli/actions/runs/29470500728), fails at the same call site. All 64 scheduled performance runs from May 14 through July 16 failed, with no successful run in that interval.
## Expected behavior
Global setup should resolve the current ripgrep binary API and allow `perf-tests/perf-usage.test.ts` to execute, so the nightly workflow can detect CPU and latency regressions.
## Client information
This is the repository-owned scheduled workflow rather than a local Gemini CLI session, so `/about` output is not applicable.
- Runner: `gemini-cli-ubuntu-16-core`
- Node.js: `v20.20.2`
- npm: `10.8.2`
- Latest checked main SHA: `3ff5ba20fc1ad7d867218bbdb34756eb54d6eccb`
## Login information
Not applicable. The failure occurs before any performance test or authenticated CLI scenario runs.
## Anything else we need to know?
Update performance global setup to use the current ripgrep resolver and add focused coverage at that setup boundary so a stale runtime import cannot silently disable the nightly performance gate again.
Contributor guide
Research direction
Start in perf-tests/globalSetup.ts and compare its stale ripgrep import with the current API in packages/core/src/tools/ripGrep.ts. Trace the setup boundary and add focused coverage there, then run perf-tests/perf-usage.test.ts and the Performance Tests: Nightly workflow. Done means global setup completes and the performance test can execute.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- ci-cd, performance, testing
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 82/100