Add shared Renovate config presets#28
Conversation
Introduce org-wide Renovate presets so each repository can extend a
single shared config instead of duplicating full configuration.
- default.json: common base (timezone, dependency dashboard, semantic
commits) and auto-merge limited to patch/digest updates
- latex.json: github-actions/docker (pinDigests) and npm rules for the
LaTeX ecosystem repositories
- elixir.json: mix manager with lockFileMaintenance and grouped
minor/patch auto-merge for Elixir projects
Repositories reference these via:
{ "extends": ["github>smkwlab/.github:latex"] }
{ "extends": ["github>smkwlab/.github:elixir"] }
There was a problem hiding this comment.
Pull request overview
This PR adds shared Renovate preset configurations to centralize dependency update policy across repositories in the smkwlab org, allowing individual repos to extends a single canonical config instead of duplicating full Renovate settings.
Changes:
- Added a
default.jsonpreset providing a shared base (timezone, dependency dashboard, semantic commits, patch/digest-only auto-merge). - Added a
latex.jsonpreset for LaTeX ecosystem repositories (workarounds + manager-specific rules and weekly schedule). - Added an
elixir.jsonpreset for Elixir repositories (mix-only, lock file maintenance, grouping and scheduling).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| default.json | Introduces the shared Renovate baseline preset (timezone/dashboard/semantic commits + limited auto-merge rules). |
| latex.json | Adds a LaTeX-oriented preset extending the shared base with manager-specific rules and a weekly schedule. |
| elixir.json | Adds an Elixir-oriented preset extending the shared base with mix-only configuration, grouping, and scheduling. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "description": "Group Elixir (hex) minor/patch/digest updates and auto-merge", | ||
| "matchManagers": ["mix"], | ||
| "matchDatasources": ["hex"], | ||
| "matchUpdateTypes": ["minor", "patch", "digest", "lockFileMaintenance"], | ||
| "groupName": "elixir dependencies", |
There was a problem hiding this comment.
ご指摘ありがとうございます。これは意図的な例外です。
org全体の auto-merge ポリシーは patch/digest 限定(default.json)ですが、Elixir リポジトリ群は既存運用で minor / lockFileMaintenance も自動マージしており、hex パッケージが概ね semver 準拠で安定しているため、その挙動を維持する設計としています。
意図が伝わるよう、elixir.json のルール description に「org方針への意図的な例外であり、既存Elixir repoの挙動を維持する」旨を明記しました(commit b892108)。挙動自体は変更していません。
Document in elixir.json that grouped minor/lockFileMaintenance auto-merge is a deliberate exception to the org-wide patch/digest-only policy, preserving existing Elixir repository behavior. No behavior change. Addresses Copilot review feedback on #28.
レビュー対応 (Copilot指摘)
結論: 意図的な例外として現状維持します。
PR説明の「auto-merge limited to patch/digest」は |
Pin the nested 'github>smkwlab/.github' (default.json) references inside latex.json and elixir.json to the moving major tag #v1, so that pinned consumers (extends github>smkwlab/.github:latex#v1) resolve the entire preset chain — including the auto-merge policy in default.json — at a controlled version instead of the default branch. Addresses Copilot review feedback about unpinned preset references. Follow-up to #28.
* Use shared Renovate preset from smkwlab/.github Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared preset (github>smkwlab/.github:latex). Behavior is preserved; auto-merge for patch/digest updates is now applied per the shared policy. Depends on smkwlab/.github#28. * Pin shared Renovate preset reference to v1 Reference the shared preset at the v1 tag (github>smkwlab/.github:latex#v1) so dependency-update behavior is resolved at a controlled version instead of the default branch. Follow-up to smkwlab/.github#29.
* Use shared Renovate preset from smkwlab/.github Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared preset (github>smkwlab/.github:latex). Behavior is preserved; auto-merge for patch/digest updates is now applied per the shared policy. Depends on smkwlab/.github#28. * Pin shared Renovate preset reference to v1 Reference the shared preset at the v1 tag (github>smkwlab/.github:latex#v1) so dependency-update behavior is resolved at a controlled version instead of the default branch. Follow-up to smkwlab/.github#29.
* Use shared Renovate preset from smkwlab/.github Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared preset (github>smkwlab/.github:latex). Behavior is preserved; auto-merge for patch/digest updates is now applied per the shared policy. Depends on smkwlab/.github#28. * Pin shared Renovate preset reference to v1 Reference the shared preset at the v1 tag (github>smkwlab/.github:latex#v1) so dependency-update behavior is resolved at a controlled version instead of the default branch. Follow-up to smkwlab/.github#29.
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared preset pinned to the v1 tag, while preserving the repo-specific forkProcessing setting required for fork PR reviews. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared Elixir preset pinned to the v1 tag. The mix manager config, lockFileMaintenance, grouping and auto-merge behavior are now defined centrally in smkwlab/.github (elixir.json @ v1); behavior is preserved. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared Elixir preset pinned to the v1 tag. The mix manager config, lockFileMaintenance, grouping and auto-merge behavior are now defined centrally in smkwlab/.github (elixir.json @ v1); behavior is preserved. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared Elixir preset pinned to the v1 tag. The mix manager config, lockFileMaintenance, grouping and auto-merge behavior are now defined centrally in smkwlab/.github (elixir.json @ v1); behavior is preserved. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared Elixir preset pinned to the v1 tag. The mix manager config, lockFileMaintenance, grouping and auto-merge behavior are now defined centrally in smkwlab/.github (elixir.json @ v1); behavior is preserved. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared Elixir preset pinned to the v1 tag. The mix manager config, lockFileMaintenance, grouping and auto-merge behavior are now defined centrally in smkwlab/.github (elixir.json @ v1); behavior is preserved. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared Elixir preset pinned to the v1 tag. The mix manager config, lockFileMaintenance, grouping and auto-merge behavior are now defined centrally in smkwlab/.github (elixir.json @ v1); behavior is preserved. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Replace the duplicated Renovate configuration with a one-line extends of the org-wide shared preset pinned to the v1 tag. Behavior is preserved and patch/digest auto-merge is applied per the shared policy. Part of the ecosystem-wide Renovate consolidation (smkwlab/.github#28, #29).
Summary
Introduce org-wide Renovate presets so each repository can extend a single shared config instead of duplicating its full configuration. Currently the same Renovate config is copy-pasted across multiple repos (latex-environment / latex-release-action / thesis-management-tools share an identical file; tdig / tenbin_* / elixir_dnstap share another).
Presets
default.json— common base:Asia/Tokyo, dependency dashboard, semantic commits, and auto-merge limited to patch / digest updates only.latex.json— extends default +workarounds:all; rules forgithub-actions/dockerfile(pinDigests) andnpm(rangeStrategy: bump). Weekly schedule (Sun 21:00).elixir.json— extends default;mixmanager only,lockFileMaintenance, grouped minor/patch/digest auto-merge. Weekly schedule (Mon before 6am).Usage (follow-up PRs)
Each repository's
renovate.jsoncollapses to a single line:Rollout plan
extendscannot resolve until they exist on the default branch).extends.Notes