Skip to content
Merged
Show file tree
Hide file tree
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
34 changes: 34 additions & 0 deletions renovate-presets/fleet.json
Original file line number Diff line number Diff line change
@@ -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
},
Comment on lines +13 to +26

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial | 💤 Low value

Add automergeType to the GitHub Actions rule for consistency.

Rule 2 (lines 13-19) explicitly sets "automergeType": "pr", while Rule 3 (lines 20-26) omits it. Both rules rely on the same PR-based automerge behavior (PR is the default), but the inconsistency could confuse future maintainers.

♻️ Proposed fix for consistency
     {
       "description": "GitHub Actions minor+patch: group + automerge on green",
       "matchManagers": ["github-actions"],
       "matchUpdateTypes": ["minor", "patch"],
       "groupName": "github-actions",
-      "automerge": true
+      "automerge": true,
+      "automergeType": "pr"
     },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
"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": "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,
"automergeType": "pr"
},
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@renovate-presets/fleet.json` around lines 13 - 26, The GitHub Actions rule
(the second object with matchManagers property set to github-actions) is missing
the automergeType property that is explicitly set in the Runtime/test-support
rule above it. While both rules rely on the same PR-based automerge behavior (PR
is the default), the inconsistency should be resolved for clarity. Add
automergeType set to pr to the GitHub Actions rule object to match the explicit
configuration pattern used in the first rule.

{
"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"
}
]
}
33 changes: 2 additions & 31 deletions renovate.json
Original file line number Diff line number Diff line change
@@ -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"]
Comment on lines +3 to +4
Comment on lines +3 to +4

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if both renovate.json locations exist
echo "=== Checking for renovate.json files ==="
fd -t f 'renovate.json'

echo ""
echo "=== Reference in AGENT_INSTRUCTIONS.md ==="
rg -n 'renovate.json' .github/codex/AGENT_INSTRUCTIONS.md

Repository: stranske/Workflows

Length of output: 193


Update documentation to reflect actual renovate config location.

The AGENT_INSTRUCTIONS.md references .github/renovate.json as a required configuration file, but this file is located at the repository root as renovate.json. Renovate supports both locations, but the documentation should be updated to match the actual file location for clarity and maintainability.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@renovate.json` around lines 3 - 4, The documentation currently references the
renovate configuration file as `.github/renovate.json`, but the actual file
location is `renovate.json` at the repository root. Update all references in the
documentation (such as in AGENT_INSTRUCTIONS.md) to point to the correct file
path `renovate.json` instead of `.github/renovate.json` to ensure the
documentation accurately reflects the actual configuration file location.

}
Loading