Skip to content

Commit 9aaadb5

Browse files
BridgeARsimon-id
andauthored
ci: safer dependabot updates (#7049)
* ci: safer dependabot updates This increases our cooldown time for regular dependencies to three days while we use a cooldown of one day for instrumented libraries. Security updates should happen right away in all situations. Thus, this adds a new section for handling these separately in all cases. * ci: increase version by default by dependabot besides for OTEL Change the update strategy to increase to guarantee our library always uses latest dpeendencies when being installed by customers. OTEL libraries are special handled, due to needing a wide range, if possible. * ci: add more package.json to dependabot.yml This adds updates for docs and integration tests. * fixup! increase cooldown further as discussed in guild * fixup! --------- Co-authored-by: simon-id <simon.id@datadoghq.com>
1 parent 590ba8e commit 9aaadb5

File tree

1 file changed

+56
-11
lines changed

1 file changed

+56
-11
lines changed

.github/dependabot.yml

Lines changed: 56 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
55

66
version: 2
7+
78
updates:
9+
# Regular github actions
810
- package-ecosystem: "github-actions"
911
directories:
1012
- "/"
@@ -14,7 +16,7 @@ updates:
1416
schedule:
1517
interval: "weekly"
1618
cooldown:
17-
default-days: 1
19+
default-days: 5
1820
exclude:
1921
- "@datadog/*"
2022
groups:
@@ -26,16 +28,20 @@ updates:
2628
- dependencies
2729
- github_actions
2830
- semver-patch
31+
32+
# Regular npm packages that fall into our supported ranges besides OTEL
2933
- package-ecosystem: "npm"
3034
directories:
3135
- "/"
36+
- "/docs"
3237
schedule:
3338
interval: "weekly"
3439
open-pull-requests-limit: 100
3540
cooldown:
36-
default-days: 1
41+
default-days: 5
3742
exclude:
3843
- "@datadog/*"
44+
versioning-strategy: "increase"
3945
labels:
4046
- dependabot
4147
- dependencies
@@ -71,15 +77,9 @@ updates:
7177
- dependency-name: "glob"
7278
# 11.0.0 onwards only supports Node.js 20 and above
7379
update-types: ["version-update:semver-major"]
74-
- dependency-name: "@opentelemetry/core"
75-
# 2.0.0 onwards only supports Node.js 18.19.0 and above
76-
update-types: ["version-update:semver-major"]
77-
- dependency-name: "@opentelemetry/resources"
78-
# 2.0.0 onwards only supports Node.js 18.19.0 and above
79-
update-types: ["version-update:semver-major"]
80-
- dependency-name: "tap"
81-
# Contain breaking changes that are incompatible with our test usage
82-
update-types: ["version-update:semver-major"]
80+
# OTEL is handled separately due to the version increase here.
81+
# The package.json range should only manually be adjusted for OTEL.
82+
- dependency-name: "@opentelemetry/*"
8383
groups:
8484
dev-minor-and-patch-dependencies:
8585
dependency-type: "development"
@@ -95,12 +95,49 @@ updates:
9595
update-types:
9696
- "minor"
9797
- "patch"
98+
99+
# OTEL in our supported ranges
100+
- package-ecosystem: "npm"
101+
directories:
102+
- "/"
103+
schedule:
104+
interval: "weekly"
105+
open-pull-requests-limit: 1
106+
cooldown:
107+
default-days: 5
108+
# Widen range across major versions, if possible. Ignore / manually update otherwise.
109+
versioning-strategy: "widen"
110+
labels:
111+
- dependabot
112+
- dependencies
113+
- javascript
114+
- semver-patch
115+
- OTEL
116+
ignore:
117+
- dependency-name: "@opentelemetry/core"
118+
# 2.0.0 onwards only supports Node.js 18.19.0 and above
119+
update-types: ["version-update:semver-major"]
120+
- dependency-name: "@opentelemetry/resources"
121+
# 2.0.0 onwards only supports Node.js 18.19.0 and above
122+
update-types: ["version-update:semver-major"]
123+
allow:
124+
- dependency-name: "@opentelemetry/*"
125+
groups:
126+
otel-dependencies:
127+
patterns:
128+
- "*"
129+
130+
# Instrumented library support range
98131
- package-ecosystem: "npm"
99132
directories:
100133
- "/packages/dd-trace/test/plugins/versions"
101134
schedule:
102135
interval: "daily"
103136
open-pull-requests-limit: 1
137+
cooldown:
138+
default-days: 3
139+
exclude:
140+
- "@datadog/*"
104141
labels:
105142
- dependabot
106143
- dependencies
@@ -110,12 +147,20 @@ updates:
110147
test-versions:
111148
patterns:
112149
- "*"
150+
151+
# Esbuild integration test dependencies
113152
- package-ecosystem: "npm"
114153
directories:
115154
- "/integration-tests/esbuild"
155+
- "/integration-tests/appsec/iast-esbuild-esm"
156+
- "/integration-tests/appsec/iast-esbuild-cjs"
116157
schedule:
117158
interval: "daily"
118159
open-pull-requests-limit: 1
160+
cooldown:
161+
default-days: 3
162+
exclude:
163+
- "@datadog/*"
119164
labels:
120165
- dependabot
121166
- dependencies

0 commit comments

Comments
 (0)