Fixed Renovate rebasing all open PRs during workday#28207
Conversation
The hourly self-hosted runner was force-pushing every open Renovate PR on each tick, firing a fresh CI run on each — regardless of the `schedule` block in renovate.json5, which only gates new PR creation. Cause: Renovate's `updateNotScheduled` defaults to true, so existing branches keep getting rebased outside the schedule windows. Set `updateNotScheduled: false` and narrowed the workflow cron to the same windows (plus one weekday daytime tick so vulnerabilityAlerts can still pick up CVEs intraday). `vulnerabilityAlerts` overrides the schedule per-block, so security PRs continue to flow at any time.
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughThis PR optimizes Renovate scheduling by making two coordinated changes. The Renovate configuration is updated to set Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The hourly self-hosted Renovate workflow was force-pushing every open Renovate PR on each tick, firing a fresh CI run on each — including during the workday, despite the off-hours
scheduleblock inrenovate.json5.Renovate's
scheduleonly gates new PR creation. ItsupdateNotScheduledoption defaults totrue, which keeps existing branches getting rebased and force-pushed any time the runner ticks. Combined with the'17 * * * *'cron, that was ~30 min of Actions compute every daytime hour plus a CI storm across all open Renovate PRs.Changes:
renovate.json5:updateNotScheduled: falseso branch maintenance also obeys the windows.vulnerabilityAlerts.schedule: "at any time"overrides this per-block, so CVE-driven PRs continue to flow intraday.renovate.yml: replaced the hourly wildcard cron with 5 windowed entries matching theschedulewindows, plus one weekday 14:17 UTC tick so the CVE path still has a runner. Roughly halves the weekly tick count and removes ~17h/day of daytime no-op runner time.