diff --git a/renovate-presets/fleet.json b/renovate-presets/fleet.json new file mode 100644 index 000000000..eb9cf3777 --- /dev/null +++ b/renovate-presets/fleet.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "description": "stranske fleet-shared Renovate preset — single source of truth for dependency automation across all stranske/* repos. Replaces Dependabot for runtime pip deps + GitHub Actions, grouped with automerge-on-green. Dev-tool pins (ruff/black/mypy/pytest/...) are EXCLUDED: they move through autofix-versions.env via the maint workflows, NOT the bumper (mirrors the retired Dependabot ignore list). The vendored .github/scripts npm cascade (minimatch/brace-expansion/balanced-match) is kept in one PR. Each repo's renovate.json extends this via `github>stranske/Workflows//renovate-presets/fleet`, so a fleet-wide policy change is one edit here — no per-repo re-sync.", + "extends": ["config:recommended"], + "platformAutomerge": true, + "labels": ["dependencies"], + "packageRules": [ + { + "description": "Dev-tool pins are owned by autofix-versions.env + the maint workflows — Renovate must not bump them", + "matchPackageNames": ["ruff", "black", "mypy", "pytest", "pytest-cov", "pytest-xdist", "coverage", "isort", "docformatter"], + "enabled": false + }, + { + "description": "Runtime/test-support minor+patch: group + automerge on green (majors stay separate for review)", + "matchUpdateTypes": ["minor", "patch"], + "groupName": "non-major updates", + "automerge": true, + "automergeType": "pr" + }, + { + "description": "GitHub Actions minor+patch: group + automerge on green", + "matchManagers": ["github-actions"], + "matchUpdateTypes": ["minor", "patch"], + "groupName": "github-actions", + "automerge": true + }, + { + "description": "Vendored minimatch cascade — keep minimatch, brace-expansion, balanced-match in one PR", + "matchFileNames": [".github/scripts/**"], + "matchPackageNames": ["minimatch", "brace-expansion", "balanced-match"], + "groupName": "vendored minimatch cascade" + } + ] +} diff --git a/renovate.json b/renovate.json index 1b2971db3..c743ffb68 100644 --- a/renovate.json +++ b/renovate.json @@ -1,34 +1,5 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "description": "Workflows Renovate config — replaces Dependabot for runtime pip deps + GitHub Actions, grouped with automerge-on-green. Shared dev-tool pins (ruff/black/mypy/pytest/...) are EXCLUDED here: they move through autofix-versions.env via maint-auto-update-pypi-versions.yml + maint-51-dependency-refresh.yml, NOT the bumper (mirrors the retired dependabot ignore list).", - "extends": ["config:recommended"], - "platformAutomerge": true, - "labels": ["dependencies"], - "packageRules": [ - { - "description": "Dev-tool pins are owned by autofix-versions.env + the maint workflows — Renovate must not bump them", - "matchPackageNames": ["ruff", "black", "mypy", "pytest", "pytest-cov", "pytest-xdist", "coverage", "isort", "docformatter"], - "enabled": false - }, - { - "description": "Runtime/test-support minor+patch: group + automerge on green (majors stay separate for review)", - "matchUpdateTypes": ["minor", "patch"], - "groupName": "non-major updates", - "automerge": true, - "automergeType": "pr" - }, - { - "description": "GitHub Actions minor+patch: group + automerge on green", - "matchManagers": ["github-actions"], - "matchUpdateTypes": ["minor", "patch"], - "groupName": "github-actions", - "automerge": true - }, - { - "description": "Vendored minimatch cascade — keep minimatch, brace-expansion, balanced-match in one PR", - "matchFileNames": [".github/scripts/**"], - "matchPackageNames": ["minimatch", "brace-expansion", "balanced-match"], - "groupName": "vendored minimatch cascade" - } - ] + "description": "Workflows Renovate config — extends the stranske fleet-shared preset (renovate-presets/fleet.json), the single source of truth for grouping, automerge-on-green, dev-tool exclusions, and the vendored-minimatch cascade. Workflows dogfoods the same preset every consumer repo extends. Repo-specific overrides, if ever needed, go in packageRules below.", + "extends": ["github>stranske/Workflows//renovate-presets/fleet"] }