Skip to content

Commit bc1830b

Browse files
authored
Merge pull request #222 from oldgiova/renovate-updates
Renovate updates
2 parents 84b7485 + d9c3fa3 commit bc1830b

2 files changed

Lines changed: 91 additions & 5 deletions

File tree

renovate.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

renovate.json5

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// Global (self-hosted) settings are in .github/renovate-config.js,
2+
// the runner workflow is .github/workflows/renovate.yml.
3+
{
4+
$schema: "https://docs.renovatebot.com/renovate-schema.json",
5+
extends: ["config:recommended"],
6+
reviewers: ["larsewi", "olehermanse"],
7+
8+
// Renovate does not infer maintenance branches from git, they have to be
9+
// named here.
10+
baseBranchPatterns: ["main"],
11+
12+
// Rebasing on every push to main would restart a pipeline per open PR.
13+
rebaseWhen: "conflicted",
14+
15+
// The workflow runs once a day, so an hourly limit would act as a daily
16+
// limit. Let the concurrent limit do the throttling.
17+
prHourlyLimit: 0,
18+
prConcurrentLimit: 5,
19+
20+
// Transitive deps only exist in uv.lock, so nothing in pyproject.toml
21+
// reaches them. Replaces dependabot's "uv" ecosystem.
22+
lockFileMaintenance: {
23+
enabled: true,
24+
schedule: ["before 5am on monday"],
25+
},
26+
27+
// osvVulnerabilityAlerts does not depend on the PAT being able to read
28+
// GitHub's own alerts API.
29+
vulnerabilityAlerts: {
30+
enabled: true,
31+
schedule: ["at any time"],
32+
labels: ["security"],
33+
},
34+
osvVulnerabilityAlerts: true,
35+
36+
packageRules: [
37+
// pyproject.toml uses ">=" floors, which newer releases already satisfy,
38+
// so the default rangeStrategy proposes nothing. "bump" raises the floor.
39+
{
40+
matchManagers: ["pep621"],
41+
rangeStrategy: "bump",
42+
},
43+
44+
{
45+
matchManagers: ["pep621"],
46+
matchDepTypes: ["project.dependencies", "build-system.requires"],
47+
groupName: "python-dependencies",
48+
groupSlug: "python-deps",
49+
},
50+
{
51+
matchManagers: ["pep621"],
52+
matchDepTypes: ["dependency-groups"],
53+
groupName: "python-dev-dependencies",
54+
groupSlug: "python-dev-deps",
55+
},
56+
57+
// Bumping CFEngine's own packages is a product decision. Must stay after
58+
// the python-dependencies rule above: packageRules are last-match-wins.
59+
{
60+
matchManagers: ["pep621"],
61+
matchDepTypes: ["project.dependencies"],
62+
matchPackageNames: ["cf-remote", "cfbs", "tree-sitter-cfengine"],
63+
groupName: "cfengine-dependencies",
64+
groupSlug: "cfengine-deps",
65+
},
66+
67+
// Majors stay separate so they get a real review.
68+
{
69+
matchManagers: ["github-actions"],
70+
matchUpdateTypes: ["minor", "patch", "digest"],
71+
groupName: "github-actions",
72+
groupSlug: "github-actions",
73+
},
74+
75+
// The python version is also pinned in the make-check matrix and in the
76+
// classifiers, which Renovate cannot reach. One PR, not three.
77+
{
78+
matchDepNames: ["python"],
79+
groupName: "python-version",
80+
groupSlug: "python-version",
81+
},
82+
83+
// Support floor, not a dependency. "bump" would raise it to ">=3.14.7"
84+
// and drop 3.10 - 3.13, which make-check.yml still tests.
85+
{
86+
matchManagers: ["pep621"],
87+
matchDepTypes: ["requires-python"],
88+
enabled: false,
89+
},
90+
],
91+
}

0 commit comments

Comments
 (0)