-
Notifications
You must be signed in to change notification settings - Fork 62
Expand file tree
/
Copy pathrenovate.json5
More file actions
141 lines (126 loc) · 5.49 KB
/
Copy pathrenovate.json5
File metadata and controls
141 lines (126 loc) · 5.49 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
{
// Renovate configuration for VertexChain
// Docs: https://docs.renovatebot.com/configuration-options/
$schema: "https://docs.renovatebot.com/renovate-schema.json",
// Extend the recommended base config which enables common best-practices
// (range strategies, vulnerability alerts, etc.).
extends: [
"config:recommended",
":dependencyDashboard",
":semanticCommitTypeAll(chore)",
],
// Let Renovate raise a single "Dependency Dashboard" issue that lists all
// pending / blocked updates so maintainers have one central overview.
dependencyDashboard: true,
// Only target the default branch.
baseBranches: ["main"],
// Rate-limit: open at most 3 PRs concurrently and create at most 5 per
// hour so the review queue never gets swamped.
prConcurrentLimit: 3,
prHourlyLimit: 5,
// Automatically rebase / update PRs when the target branch changes.
rebaseWhen: "behind-base-branch",
// ── Labels applied to every Renovate PR ───────────────────────────────
labels: ["dependencies", "renovate"],
// ── Package grouping ──────────────────────────────────────────────────
// Keep each workspace's dependencies together so a single PR can be
// reviewed and merged atomically.
packageRules: [
// ── Frontend (Next.js / React) ──────────────────────────────────────
{
matchFileNames: ["Frontend/package.json"],
groupName: "Frontend dependencies",
labels: ["dependencies", "renovate", "frontend"],
},
// Separate rule to pin the Next.js framework to a minor-range update
// because major bumps require manual migration steps.
{
matchFileNames: ["Frontend/package.json"],
matchPackageNames: ["next"],
groupName: "Next.js (Frontend)",
minimumReleaseAge: "3 days",
},
// ── Backend (NestJS) ────────────────────────────────────────────────
{
matchFileNames: ["Backend/package.json"],
groupName: "Backend dependencies",
labels: ["dependencies", "renovate", "backend"],
},
// NestJS packages all version-bump together; keep them in their own
// group to avoid partial upgrades.
{
matchFileNames: ["Backend/package.json"],
matchPackagePrefixes: ["@nestjs/"],
groupName: "NestJS framework (Backend)",
minimumReleaseAge: "3 days",
},
// ── Analytics (Next.js dashboard) ──────────────────────────────────
{
matchFileNames: ["analytics/package.json"],
groupName: "Analytics dependencies",
labels: ["dependencies", "renovate", "analytics"],
},
{
matchFileNames: ["analytics/package.json"],
matchPackageNames: ["next"],
groupName: "Next.js (Analytics)",
minimumReleaseAge: "3 days",
},
// ── Contracts (Rust / Soroban – Cargo) ─────────────────────────────
{
matchManagers: ["cargo"],
matchFileNames: [
"contracts/Cargo.toml",
"contracts/**/Cargo.toml",
],
groupName: "Contracts – Cargo dependencies",
labels: ["dependencies", "renovate", "contracts"],
},
// soroban-sdk has breaking changes between minor versions; require a
// manual decision before bumping it.
{
matchManagers: ["cargo"],
matchPackageNames: ["soroban-sdk"],
groupName: "soroban-sdk",
minimumReleaseAge: "7 days",
labels: ["dependencies", "renovate", "contracts", "major-upgrade"],
},
// ── Root-level / shared devDependencies ────────────────────────────
{
matchFileNames: ["package.json"],
groupName: "Root devDependencies",
labels: ["dependencies", "renovate", "root"],
},
// ── GitHub Actions ──────────────────────────────────────────────────
{
matchManagers: ["github-actions"],
groupName: "GitHub Actions",
labels: ["dependencies", "renovate", "ci"],
// Actions updates are low-risk; auto-merge patch bumps.
automerge: true,
automergeType: "pr",
matchUpdateTypes: ["patch"],
},
// ── Semantic-version strategy overrides ────────────────────────────
// Major bumps across all workspaces get an explicit label and a longer
// stabilisation period before Renovate opens the PR.
{
matchUpdateTypes: ["major"],
labels: ["dependencies", "renovate", "major-upgrade"],
minimumReleaseAge: "5 days",
},
// Patch updates are auto-mergeable when CI is green to reduce noise.
{
matchUpdateTypes: ["patch"],
automerge: true,
automergeType: "pr",
},
],
// ── Vulnerability alerts ─────────────────────────────────────────────
// Open a PR immediately (bypassing schedule) for any package with a
// known CVE so security fixes are never delayed.
vulnerabilityAlerts: {
enabled: true,
labels: ["security", "renovate"],
},
}