From c3df2e58e5e7d94b98bbf9d0dc22533cb4442441 Mon Sep 17 00:00:00 2001 From: Toshihiko SHIMOKAWA Date: Thu, 3 Sep 2026 02:46:19 +0900 Subject: [PATCH] fix(elixir): auto-merge lock file maintenance, and narrow its window A lock file refresh carries no datasource, so matchDatasources on the rule above -- which is deliberate, keeping git dependencies out of the auto-merged lane -- never let lockFileMaintenance match it. Naming lockFileMaintenance in that rule's matchUpdateTypes did nothing, and the mix lock refreshes have sat unmerged since 2026-08-30 while the npm ones, whose rule carries no datasource filter, merged the same week. Give it its own rule rather than widening the existing one. Narrow the window to one day for the reason recorded in #157 and applied to latex.json in #158: lock file maintenance is not an item a job can exhaust but the difference between the committed lock file and the registry, so merging it restores that difference within hours and the next job inside a two-day window has something to create again. That did not surface here only because nothing was merging. Five hours still exceeds the four-hour job interval, so the window cannot fall between two jobs. Refs #157 --- elixir.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/elixir.json b/elixir.json index ea8da27..c59d833 100644 --- a/elixir.json +++ b/elixir.json @@ -17,16 +17,22 @@ "schedule": ["on sunday and monday"], "lockFileMaintenance": { "enabled": true, - "schedule": ["on sunday and monday"] + "schedule": ["before 5am on sunday"] }, "packageRules": [ { "description": "Intentional exception to the org-wide patch/digest-only auto-merge policy: Elixir (hex) packages are reliably semver-compliant, so minor and lockFileMaintenance updates are grouped and auto-merged as well. Which updates auto-merge is the exception; who merges them is not -- Renovate merges these, like every other auto-merged update, once it has seen all check runs go green. The required status check here is `ci / Code Quality` alone, so GitHub's auto-merge would release the merge while the OTP/Elixir test matrix is still running.", "matchManagers": ["mix"], "matchDatasources": ["hex"], - "matchUpdateTypes": ["minor", "patch", "digest", "lockFileMaintenance"], + "matchUpdateTypes": ["minor", "patch", "digest"], "groupName": "elixir dependencies", "automerge": true + }, + { + "description": "Auto-merge lock file maintenance too. It cannot ride on the rule above: a lock file refresh carries no datasource, so matchDatasources there -- which is deliberate, keeping git dependencies out of the auto-merged lane -- excludes it. Naming lockFileMaintenance in that rule's matchUpdateTypes therefore did nothing, and the mix lock refreshes sat unmerged from 2026-08-30 while the npm ones, whose rule has no datasource filter, merged the same week.", + "matchManagers": ["mix"], + "matchUpdateTypes": ["lockFileMaintenance"], + "automerge": true } ] }