Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions elixir.json
Original file line number Diff line number Diff line change
Expand Up @@ -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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [MEDIUM] 新しいルールに matchDatasources が存在しないことは意図的(lockFileMaintenance はデータソースを持たないため)ですが、matchPackagePatternsmatchDepTypes などの追加フィルタも一切ないため、mix マネージャーが管理するすべてのリポジトリの lockFileMaintenance PR が無条件に automerge されます。

PR 本文では「git 依存を自動マージ対象から外す意図」に言及していますが、lockFileMaintenance の場合は git 依存のバージョン固定も lock ファイルに含まれます。git 依存が含まれるリポジトリで lock ファイルが更新された場合、その変更も自動マージされることになります。

意図的にそれを許容するのであれば、description にその旨を明記しておくと、将来の読者が誤解しにくくなります。

}
]
}