Skip to content

ci: hold major updates for dashboard approval, so lock-file maintenance gets a slot - #106

Merged
sgort merged 1 commit into
accfrom
ci/majors-need-approval
Sep 11, 2026
Merged

sgort merged 1 commit into
accfrom
ci/majors-need-approval

Conversation

@sgort

@sgort sgort commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Refs #97. This corrects part of #103's reasoning, based on what was observed right after it merged.

What #103 got wrong

#103 gave lock-file maintenance prPriority: 10, on the reasoning that it would take the first slot that freed. That was sound but insufficient, and the evidence arrived within minutes:

Priority only orders branches that are eligible in the same run, and lock-file maintenance is eligible only inside its Monday schedule. During the week, everything else fills each free slot first. Priority alone would never have kept one open for Monday.

The fix

The queue competing for those slots was almost entirely major updates:

  • npm 12;
  • a backend major group of 17 packages, including express, eslint, jest and typescript;
  • a frontend major group of 15 packages, including vite, tiptap, eslint and jsdom.

Nobody merges those on autopilot anyway. They now need Dependency Dashboard approval. Each one waits in #36 as a checkbox and holds no slot until someone ticks it. That leaves the five slots for minor and patch updates and for lock-file maintenance.

vulnerabilityAlerts sets dependencyDashboardApproval: false explicitly, so a security fix that happens to be a major version never waits on a click.

Corrections

The prPriority rule's description and the posture page's account of #97's closure both said priority makes lock-file maintenance take the first free slot. Both now describe what was observed: priority is the weaker half, and the approval rule is what keeps the slot open.

Early evidence for #103's grouping fix

The Dependency Dashboard now lists one lock-file-maintenance entry. Before #103 it listed three. That is direct evidence the grouping fix works, ahead of Monday's scheduled run.

After merge

Verification

renovate-config-validator --strict passes at the version CI pins (44.50.3). check-format and check-supply-chain pass. The only files touched are renovate.json and the docs, so nothing deploys.

…ce gets a slot

#103 gave lock-file maintenance prPriority 10 on the reasoning that it would take
the first slot that freed. That was sound but insufficient, and the evidence
arrived within minutes of merging it.

Two Renovate pull requests were merged to free slots below prConcurrentLimit.
One slot was taken almost at once by an unrelated update, #104, and the
Dependency Dashboard showed three more rate-limited and waiting for the other --
all eligible any day. Priority only orders branches eligible in the same run,
and lock-file maintenance is eligible only inside its Monday schedule. During
the week, everything else fills every free slot first, so priority alone would
never have kept one for Monday. The last slot would be gone long before the
window opened, and #97's starvation would recur on schedule.

The queue competing for those slots was almost entirely major updates: npm 12,
and two workspace major groups spanning express, eslint, jest, typescript, vite
and tiptap. Nobody merges those on autopilot anyway. They now need Dependency
Dashboard approval: each waits in #36 as a checkbox and holds no slot until
someone ticks it, which leaves the five slots for minor and patch updates and for
lock-file maintenance.

vulnerabilityAlerts sets dependencyDashboardApproval false explicitly, so a
security fix that happens to be a major version never waits on a click.

The prPriority rule's description, and the posture page's account of #97's
closure, both said priority makes lock-file maintenance take the first free
slot. Both now say what was observed: priority is the weaker half, and the
approval rule is what keeps the slot.

Also observed, and recorded on #97: the Dependency Dashboard now lists one
lock-file-maintenance entry where it listed three before #103, which is direct
evidence the grouping fix works ahead of Monday's scheduled run.

The majors already open -- #68, #69, #80 -- stay open; the rule governs how new
majors are created, not existing pull requests. That leaves the queue at four of
five, one slot for Monday.

Validated with renovate-config-validator --strict at the version CI pins.
@sgort sgort added dependencies ci Pipeline, supply-chain and release tooling labels Sep 11, 2026
@sgort
sgort merged commit af1341a into acc Sep 11, 2026
2 checks passed
@sgort
sgort deleted the ci/majors-need-approval branch September 11, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Pipeline, supply-chain and release tooling dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant