mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-15 06:12:50 -07:00
f9840e7efa
This PR addresses critical issues in CI configuration and repository lifecycle management that were identified during recent monitoring and failed automation attempts. ### CI Optimization & Fixes (BT-40) - **Syntax Fix**: Corrected the `matrix.node-version` definition in `.github/workflows/ci.yml` using `fromJSON()`. The previous literal string caused `setup-node` to fail as it couldn't parse the version list as an array. - **Cost Reduction**: Implemented Node version sharding. PRs now only run on Node 20.x, while `main` and `release/**` pushes maintain full coverage across Node 20, 22, and 24. - **Efficiency**: Reordered `npm ci` and `npm run build` steps in Linux and Mac test jobs. Dependencies are now installed BEFORE building, preventing potential build failures due to missing local tools. ### Lifecycle Manager Scale & Grace (BT-39) - **Scale-Safe Search**: Refactored `.github/scripts/gemini-lifecycle-manager.cjs` to use `github.paginate`. This removes the 100-item bottleneck that was preventing the bot from processing the full issue backlog. - **Optimized Triage**: Added `comments:>1` to the `status/need-information` removal search. This reduces N+1 API calls by skipping issues where no response has been received yet. - **Robust Contribution Policy**: Hardened the PR nudge/closure logic: - **Grace Period**: PRs are now only closed if they have the `status/pr-nudge-sent` label AND have not been updated for 7 days AFTER the nudge. This guarantees a fair window for contributors to respond, regardless of the PR's absolute age. - **Reliable Nudge**: Removed the narrow creation window for nudges, ensuring no PR slips through the policy without a warning. ### Impact - **CI Stability**: Unblocks all repository CI runs. - **Backlog Management**: Enables the bot to finally address the >2000 issue backlog effectively. - **Contributor Experience**: Ensures a consistent and fair grace period for community pull requests.