chore(renovate): throttle renovate self-updates to a weekly window #34

Merged
lucas merged 1 commit from agent/issue-32-renovate-schedule into master 2026-11-09 17:21:36 +01:00
Collaborator

Adds one packageRules entry to .renovaterc restricting renovate/renovate
updates to Mondays 00:00–05:59 UTC. No other file is touched; all other packages
keep their current behaviour.

As decided in the issue, the CI-exclusion half of the title is deliberately not
implemented: a workflow-level paths-ignore would stop the five required
contexts (pr / assets, pr / lint, pr / check, pr / test, pr / image)
from ever being created, making the PR unmergeable under branch protection
(gitea#36895). .forgejo/workflows/pr.yaml
and .forgejo/workflows/renovate.yml are unchanged.

Verification

Docker is not available in this session, so the documented
renovate-config-validator container run was replaced by the same validator
executed via bunx --package renovate renovate-config-validator --strict
on a copy of the file:

  • the changed config validates successfully;
  • as a negative control, replacing the schedule with "not a cron" is rejected
    with Invalid packageRules[2].schedule, proving the validator actually parses
    the schedule string rather than ignoring it.

Still outstanding, since both need the Forgejo UI / a merged state:

  • Verification step 2: dispatch the Renovate workflow with logLevel: debug,
    dryRun: full and confirm renovate/renovate is the only dependency carrying
    the schedule decision.
  • Verification step 3: after merge, confirm #14 and #11 are still open and still
    rebased.

Closes: #32

Adds one `packageRules` entry to `.renovaterc` restricting `renovate/renovate` updates to Mondays 00:00–05:59 UTC. No other file is touched; all other packages keep their current behaviour. As decided in the issue, the CI-exclusion half of the title is deliberately not implemented: a workflow-level `paths-ignore` would stop the five required contexts (`pr / assets`, `pr / lint`, `pr / check`, `pr / test`, `pr / image`) from ever being created, making the PR unmergeable under branch protection ([gitea#36895](https://github.com/go-gitea/gitea/issues/36895)). `.forgejo/workflows/pr.yaml` and `.forgejo/workflows/renovate.yml` are unchanged. ### Verification Docker is not available in this session, so the documented `renovate-config-validator` container run was replaced by the same validator executed via `bunx --package renovate renovate-config-validator --strict` on a copy of the file: - the changed config validates successfully; - as a negative control, replacing the schedule with `"not a cron"` is rejected with `Invalid packageRules[2].schedule`, proving the validator actually parses the schedule string rather than ignoring it. Still outstanding, since both need the Forgejo UI / a merged state: - Verification step 2: dispatch the Renovate workflow with `logLevel: debug`, `dryRun: full` and confirm `renovate/renovate` is the only dependency carrying the schedule decision. - Verification step 3: after merge, confirm #14 and #11 are still open and still rebased. Closes: #32
chore(renovate): throttle renovate self-updates to a weekly window
All checks were successful
pr / assets (pull_request) Successful in 8s
pr / lint (pull_request) Successful in 9s
pr / check (pull_request) Successful in 33s
pr / test (pull_request) Successful in 44s
pr / image (pull_request) Successful in 13m34s
7bb8e5904e
The renovate/renovate runner image moved four times in three days,
making it the loudest source of dependency PRs. It never ships in the
product, so a release-per-day cadence buys nothing. Restrict updates
for that image to Mondays 00:00-05:59 UTC; every other package keeps
its current behaviour.

Co-Authored-By: Claude Opus 5 via omp-deck
lucas scheduled this pull request to auto merge when all checks succeed 2026-11-09 17:09:26 +01:00
lucas merged commit 970a0bf522 into master 2026-11-09 17:21:36 +01:00
lucas deleted branch agent/issue-32-renovate-schedule 2026-11-09 17:21:36 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
lucas/logview!34
No description provided.