Commit 8f56ef6
Configure
## Summary of changes
> default cooldown period is 2 days
Adds a configurable cooldown period to the `GeneratePackageVersions` to
support remediation efforts for follow up after #incident-51602.
To use supply the optional parameter `--PackageVersionCooldownDays X`
where `X` is some number of days. The current period is at the moment is
going to be 2 days and is the default now when the overall
`GeneratePackageVersion` target is ran. Additionally, this is overridden
to 0 if `--IncludePackages` is supplied (this is commonly used when
working on a singular package locally).
After running the tool a "cooldown" report is generated, this file will
contain packages that we see have a newer version, but will not
incorporate into the test, the fallback version that falls within the
cooldown period is provided. This file content will show up in the
output of future test package version bump PRs.
Note that this is for _automated_ updates, so if it sees something
already updated it will honor it.
Here's an example output ran locally with 14 days set:
```
## Package Version Cooldown Report
The following versions were published less than **14 days** ago and have been overridden.
These require manual review before inclusion.
| Package | Integration | Overridden Version | Published | Age (days) | Using Instead |
|---------|-------------|--------------------|-----------|------------|---------------|
| AWSSDK.Core | AwsSdk | 4.0.3.22 | 2026-03-25 | 0 | 4.0.3.21 |
| AWSSDK.S3 | AwsS3 | 4.0.19.2 | 2026-03-25 | 0 | 4.0.19.1 |
| StackExchange.Redis | StackExchangeRedis | 2.12.8 | 2026-03-25 | 0 | 2.12.4 |
```
## Reason for change
In #8364 and
#incident-51602 all automated dependency updaters to be disabled
temporarily, to re-enable we need to supply a 2 day "cooldown" to any
version that we update to (in other words the version of the NuGet must
be published for at least 2 days before we can update to it).
## Implementation details
I made Claude do this 🤖
- NuGetPackageHelper now captures the Published date from
IPackageSearchMetadata via a new VersionWithDate record (previously
discarded)
- NuGetVersionCache stores the new {Version, Published} format
- PackageVersionGenerator.ApplyCooldown filters selected versions after
LatestMajors/LatestMinors/LatestSpecific selection:
- Versions outside the cooldown window pass through unchanged
- Versions at or below the baseline (derived from
supported_versions.json MaxVersionTestedInclusive) are kept even if
within cooldown -- no downgrades
- Versions above the baseline and within cooldown are overridden to the
best available fallback
- CooldownReport collects overridden versions and renders a markdown
table saved to tracer/build/cooldown_report.md
- The GitHub Actions workflow reads the report and appends it to the
auto-bump PR body
- Honeypot IntegrationGroups.cs fixes: MSTest.TestFramework now maps to
itself, Hangfire.Core maps to Hangfire.Core (was Hangfire), OpenFeature
mapping moved to Datadog.FeatureFlags.OpenFeature
Passing `--IncludePackages` will override the cooldown to 0
## Test coverage
I ran `GeneratePackageVersions --PackageVersionCooldownDays 14` locally
seems good enough IMO (also ran without, with different days etc)
```
[WRN] GeneratePackageVersi: 3 package version(s) were excluded due to the 14-day cooldown period
[WRN] GeneratePackageVersi: AWSSDK.Core 4.0.3.22 overridden (published 2026-03-25, using: 4.0.3.21)
[WRN] GeneratePackageVersi: AWSSDK.S3 4.0.19.2 overridden (published 2026-03-25, using: 4.0.19.1)
[WRN] GeneratePackageVersi: StackExchange.Redis 2.12.8 overridden (published 2026-03-25, using: 2.12.4)
```
## Other details
<!-- Fixes #{issue} -->
The workflow file (`auto_bump_test_package_versions.yml`) will be
re-enabled with this PR
<!-- GeneratePackageVersions to support a "cooldown" on dependencies (#8371)1 parent 6221b59 commit 8f56ef6
20 files changed
Lines changed: 57004 additions & 14209 deletions
File tree
- .github/workflows
- tracer
- build
- _build
- GeneratePackageVersions
- Honeypot
- dependabot/integrations
- test/Datadog.Trace.ClrProfiler.IntegrationTests
Lines changed: 17 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
42 | 56 | | |
43 | 57 | | |
44 | 58 | | |
| |||
55 | 69 | | |
56 | 70 | | |
57 | 71 | | |
| 72 | + | |
| 73 | + | |
58 | 74 | | |
59 | 75 | | |
60 | 76 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10507 | 10507 | | |
10508 | 10508 | | |
10509 | 10509 | | |
10510 | | - | |
| 10510 | + | |
10511 | 10511 | | |
10512 | 10512 | | |
10513 | 10513 | | |
| |||
10717 | 10717 | | |
10718 | 10718 | | |
10719 | 10719 | | |
10720 | | - | |
| 10720 | + | |
10721 | 10721 | | |
10722 | 10722 | | |
10723 | 10723 | | |
| |||
10927 | 10927 | | |
10928 | 10928 | | |
10929 | 10929 | | |
10930 | | - | |
| 10930 | + | |
10931 | 10931 | | |
10932 | 10932 | | |
10933 | 10933 | | |
| |||
11137 | 11137 | | |
11138 | 11138 | | |
11139 | 11139 | | |
11140 | | - | |
| 11140 | + | |
11141 | 11141 | | |
11142 | 11142 | | |
11143 | 11143 | | |
| |||
11347 | 11347 | | |
11348 | 11348 | | |
11349 | 11349 | | |
11350 | | - | |
| 11350 | + | |
11351 | 11351 | | |
11352 | 11352 | | |
11353 | 11353 | | |
| |||
11557 | 11557 | | |
11558 | 11558 | | |
11559 | 11559 | | |
11560 | | - | |
| 11560 | + | |
11561 | 11561 | | |
11562 | 11562 | | |
11563 | 11563 | | |
| |||
11767 | 11767 | | |
11768 | 11768 | | |
11769 | 11769 | | |
11770 | | - | |
| 11770 | + | |
11771 | 11771 | | |
11772 | 11772 | | |
11773 | 11773 | | |
| |||
11977 | 11977 | | |
11978 | 11978 | | |
11979 | 11979 | | |
11980 | | - | |
| 11980 | + | |
11981 | 11981 | | |
11982 | 11982 | | |
11983 | 11983 | | |
| |||
12187 | 12187 | | |
12188 | 12188 | | |
12189 | 12189 | | |
12190 | | - | |
| 12190 | + | |
12191 | 12191 | | |
12192 | 12192 | | |
12193 | 12193 | | |
| |||
12397 | 12397 | | |
12398 | 12398 | | |
12399 | 12399 | | |
12400 | | - | |
| 12400 | + | |
12401 | 12401 | | |
12402 | 12402 | | |
12403 | 12403 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7051 | 7051 | | |
7052 | 7052 | | |
7053 | 7053 | | |
7054 | | - | |
| 7054 | + | |
7055 | 7055 | | |
7056 | 7056 | | |
7057 | 7057 | | |
7058 | 7058 | | |
7059 | 7059 | | |
7060 | | - | |
| 7060 | + | |
7061 | 7061 | | |
7062 | 7062 | | |
7063 | 7063 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
62 | 65 | | |
63 | 66 | | |
64 | 67 | | |
| |||
247 | 250 | | |
248 | 251 | | |
249 | 252 | | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
250 | 270 | | |
251 | | - | |
| 271 | + | |
| 272 | + | |
252 | 273 | | |
253 | 274 | | |
254 | 275 | | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
255 | 342 | | |
256 | 343 | | |
257 | 344 | | |
| |||
260 | 347 | | |
261 | 348 | | |
262 | 349 | | |
| 350 | + | |
| 351 | + | |
263 | 352 | | |
264 | 353 | | |
265 | 354 | | |
| |||
Lines changed: 89 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
0 commit comments