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