Skip to content

Commit fbca7d2

Browse files
jkhelilcursoragent
andcommitted
Add dependabot config generator for active release branches
Implements the same dependabot generation pattern used by tektoncd/pipeline: - .github/dependabot.config.yml: human-maintained source of truth listing active release branches (release-v0.27.x, release-v0.33.x, release-v0.34.x, release-v0.35.x) and ecosystem settings - hack/generate-dependabot/main.go: Go generator that reads the config and produces dependabot.yml, with patch-only restrictions on release branches - hack/generate-dependabot.sh: shell wrapper to invoke the generator - .github/dependabot.yml: regenerated to cover all release branches - .github/workflows/dependabot-regen.yml: weekly workflow that regenerates dependabot.yml and opens a PR when changes are detected /kind feature Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent e1c77b7 commit fbca7d2

6 files changed

Lines changed: 676 additions & 37 deletions

File tree

.github/dependabot.config.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Dependabot configuration
2+
# This file defines the base configuration and branches for dependabot updates.
3+
# The actual .github/dependabot.yml is generated from this file.
4+
#
5+
# Automated regeneration:
6+
# - A GitHub Actions workflow runs weekly to regenerate dependabot.yml
7+
# - If changes are detected, it automatically creates a PR
8+
# - See: .github/workflows/dependabot-regen.yml
9+
#
10+
# Manual regeneration:
11+
# 1. Edit the 'ecosystems' section to change what packages to monitor
12+
# 2. Edit the 'release-branches' section to add/remove branches
13+
# 3. Run: ./hack/generate-dependabot.sh
14+
15+
# List of release branches to monitor (in addition to main branch)
16+
# These should be active LTS release branches
17+
# Check releases.md for the current list of supported releases
18+
release-branches:
19+
- release-v0.35.x
20+
- release-v0.34.x
21+
- release-v0.33.x
22+
- release-v0.27.x
23+
# Package ecosystems to monitor
24+
# Each ecosystem will be configured for:
25+
# - main branch: all updates (major, minor, patch)
26+
# - release branches: patch updates only
27+
ecosystems:
28+
- package-ecosystem: gomod
29+
directory: /
30+
schedule:
31+
interval: weekly
32+
cooldown:
33+
default-days: 7
34+
semver-major-days: 30
35+
semver-minor-days: 7
36+
semver-patch-days: 3
37+
labels:
38+
- ok-to-test
39+
- dependencies
40+
- release-note-none
41+
- kind/misc
42+
groups:
43+
all:
44+
patterns:
45+
- "*"
46+
ignore:
47+
- dependency-name: "k8s.io/*"
48+
update-types:
49+
- version-update:semver-major
50+
- version-update:semver-minor
51+
- dependency-name: "knative.dev/*"
52+
update-types:
53+
- version-update:semver-major
54+
- version-update:semver-minor
55+
- package-ecosystem: github-actions
56+
directory: /
57+
schedule:
58+
interval: weekly
59+
cooldown:
60+
default-days: 7
61+
semver-major-days: 30
62+
semver-minor-days: 7
63+
semver-patch-days: 3
64+
labels:
65+
- ok-to-test
66+
- dependencies
67+
- release-note-none
68+
- kind/misc

.github/dependabot.yml

Lines changed: 256 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,258 @@
1+
# Generated file - DO NOT EDIT MANUALLY
2+
# This file is generated by hack/generate-dependabot.sh
3+
#
4+
# To update this file:
5+
# 1. Edit .github/dependabot.config.yml
6+
# 2. Run: ./hack/generate-dependabot.sh
7+
#
18
version: 2
29
updates:
3-
- package-ecosystem: "gomod"
4-
directory: "/"
5-
schedule:
6-
interval: "weekly"
7-
cooldown:
8-
default-days: 7
9-
labels:
10-
- "ok-to-test"
11-
- "dependencies"
12-
- "release-note-none"
13-
- "kind/misc"
14-
groups:
15-
all:
16-
patterns:
17-
- "*"
18-
ignore:
19-
- dependency-name: "k8s.io/*"
20-
update-types: ["version-update:semver-major", "version-update:semver-minor"]
21-
- dependency-name: "knative.dev/*"
22-
update-types: ["version-update:semver-major", "version-update:semver-minor"]
23-
- package-ecosystem: "github-actions"
24-
directory: "/"
25-
schedule:
26-
interval: "weekly"
27-
cooldown:
28-
default-days: 7
29-
labels:
30-
- "ok-to-test"
31-
- "dependencies"
32-
- "release-note-none"
33-
- "kind/misc"
10+
- package-ecosystem: gomod
11+
directory: /
12+
schedule:
13+
interval: weekly
14+
labels:
15+
- ok-to-test
16+
- dependencies
17+
- release-note-none
18+
- kind/misc
19+
ignore:
20+
- dependency-name: k8s.io/*
21+
update-types:
22+
- version-update:semver-major
23+
- version-update:semver-minor
24+
- dependency-name: knative.dev/*
25+
update-types:
26+
- version-update:semver-major
27+
- version-update:semver-minor
28+
groups:
29+
all:
30+
patterns:
31+
- '*'
32+
cooldown:
33+
default-days: 7
34+
semver-major-days: 30
35+
semver-minor-days: 7
36+
semver-patch-days: 3
37+
- package-ecosystem: github-actions
38+
directory: /
39+
schedule:
40+
interval: weekly
41+
labels:
42+
- ok-to-test
43+
- dependencies
44+
- release-note-none
45+
- kind/misc
46+
cooldown:
47+
default-days: 7
48+
semver-major-days: 30
49+
semver-minor-days: 7
50+
semver-patch-days: 3
51+
- package-ecosystem: gomod
52+
directory: /
53+
target-branch: release-v0.35.x
54+
schedule:
55+
interval: weekly
56+
labels:
57+
- ok-to-test
58+
- dependencies
59+
- release-note-none
60+
- kind/misc
61+
ignore:
62+
- dependency-name: k8s.io/*
63+
update-types:
64+
- version-update:semver-major
65+
- version-update:semver-minor
66+
- dependency-name: knative.dev/*
67+
update-types:
68+
- version-update:semver-major
69+
- version-update:semver-minor
70+
- dependency-name: '*'
71+
update-types:
72+
- version-update:semver-major
73+
- version-update:semver-minor
74+
groups:
75+
all:
76+
patterns:
77+
- '*'
78+
cooldown:
79+
default-days: 7
80+
semver-major-days: 30
81+
semver-minor-days: 7
82+
semver-patch-days: 3
83+
- package-ecosystem: github-actions
84+
directory: /
85+
target-branch: release-v0.35.x
86+
schedule:
87+
interval: weekly
88+
labels:
89+
- ok-to-test
90+
- dependencies
91+
- release-note-none
92+
- kind/misc
93+
ignore:
94+
- dependency-name: '*'
95+
update-types:
96+
- version-update:semver-major
97+
- version-update:semver-minor
98+
cooldown:
99+
default-days: 7
100+
semver-major-days: 30
101+
semver-minor-days: 7
102+
semver-patch-days: 3
103+
- package-ecosystem: gomod
104+
directory: /
105+
target-branch: release-v0.34.x
106+
schedule:
107+
interval: weekly
108+
labels:
109+
- ok-to-test
110+
- dependencies
111+
- release-note-none
112+
- kind/misc
113+
ignore:
114+
- dependency-name: k8s.io/*
115+
update-types:
116+
- version-update:semver-major
117+
- version-update:semver-minor
118+
- dependency-name: knative.dev/*
119+
update-types:
120+
- version-update:semver-major
121+
- version-update:semver-minor
122+
- dependency-name: '*'
123+
update-types:
124+
- version-update:semver-major
125+
- version-update:semver-minor
126+
groups:
127+
all:
128+
patterns:
129+
- '*'
130+
cooldown:
131+
default-days: 7
132+
semver-major-days: 30
133+
semver-minor-days: 7
134+
semver-patch-days: 3
135+
- package-ecosystem: github-actions
136+
directory: /
137+
target-branch: release-v0.34.x
138+
schedule:
139+
interval: weekly
140+
labels:
141+
- ok-to-test
142+
- dependencies
143+
- release-note-none
144+
- kind/misc
145+
ignore:
146+
- dependency-name: '*'
147+
update-types:
148+
- version-update:semver-major
149+
- version-update:semver-minor
150+
cooldown:
151+
default-days: 7
152+
semver-major-days: 30
153+
semver-minor-days: 7
154+
semver-patch-days: 3
155+
- package-ecosystem: gomod
156+
directory: /
157+
target-branch: release-v0.33.x
158+
schedule:
159+
interval: weekly
160+
labels:
161+
- ok-to-test
162+
- dependencies
163+
- release-note-none
164+
- kind/misc
165+
ignore:
166+
- dependency-name: k8s.io/*
167+
update-types:
168+
- version-update:semver-major
169+
- version-update:semver-minor
170+
- dependency-name: knative.dev/*
171+
update-types:
172+
- version-update:semver-major
173+
- version-update:semver-minor
174+
- dependency-name: '*'
175+
update-types:
176+
- version-update:semver-major
177+
- version-update:semver-minor
178+
groups:
179+
all:
180+
patterns:
181+
- '*'
182+
cooldown:
183+
default-days: 7
184+
semver-major-days: 30
185+
semver-minor-days: 7
186+
semver-patch-days: 3
187+
- package-ecosystem: github-actions
188+
directory: /
189+
target-branch: release-v0.33.x
190+
schedule:
191+
interval: weekly
192+
labels:
193+
- ok-to-test
194+
- dependencies
195+
- release-note-none
196+
- kind/misc
197+
ignore:
198+
- dependency-name: '*'
199+
update-types:
200+
- version-update:semver-major
201+
- version-update:semver-minor
202+
cooldown:
203+
default-days: 7
204+
semver-major-days: 30
205+
semver-minor-days: 7
206+
semver-patch-days: 3
207+
- package-ecosystem: gomod
208+
directory: /
209+
target-branch: release-v0.27.x
210+
schedule:
211+
interval: weekly
212+
labels:
213+
- ok-to-test
214+
- dependencies
215+
- release-note-none
216+
- kind/misc
217+
ignore:
218+
- dependency-name: k8s.io/*
219+
update-types:
220+
- version-update:semver-major
221+
- version-update:semver-minor
222+
- dependency-name: knative.dev/*
223+
update-types:
224+
- version-update:semver-major
225+
- version-update:semver-minor
226+
- dependency-name: '*'
227+
update-types:
228+
- version-update:semver-major
229+
- version-update:semver-minor
230+
groups:
231+
all:
232+
patterns:
233+
- '*'
234+
cooldown:
235+
default-days: 7
236+
semver-major-days: 30
237+
semver-minor-days: 7
238+
semver-patch-days: 3
239+
- package-ecosystem: github-actions
240+
directory: /
241+
target-branch: release-v0.27.x
242+
schedule:
243+
interval: weekly
244+
labels:
245+
- ok-to-test
246+
- dependencies
247+
- release-note-none
248+
- kind/misc
249+
ignore:
250+
- dependency-name: '*'
251+
update-types:
252+
- version-update:semver-major
253+
- version-update:semver-minor
254+
cooldown:
255+
default-days: 7
256+
semver-major-days: 30
257+
semver-minor-days: 7
258+
semver-patch-days: 3

0 commit comments

Comments
 (0)