Skip to content

ci: give Dependabot Actions bumps a 7-day cooldown - #154

Open
rominf wants to merge 1 commit into
mainfrom
ci/dependabot-actions-cooldown
Open

ci: give Dependabot Actions bumps a 7-day cooldown#154
rominf wants to merge 1 commit into
mainfrom
ci/dependabot-actions-cooldown

Conversation

@rominf

@rominf rominf commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds cooldown: default-days: 7 to the github-actions Dependabot ecosystem.

Why. Pinning actions to SHAs prevents a tag being moved under us, but it does not cover the one moment the pin stops protecting us: adopting a new SHA. Dependabot's bump PR triggers ci.yml, which executes the new action's code before any human has read the diff. So the window between "a release is published" and "we run it" is the exposure, and today it is only GitHub's implicit 3-day default.

Why it matters more here than in a typical repo. Every path filter in ci.yml folds in .github/workflows/**. An Actions bump edits exactly those files, so such a PR trips the heavy filter and reaches the self-hosted GPU lanes (e2e-gpu, e2e-gpu-strix-*) — not just ephemeral ubuntu-latest containers. Those runners deliberately persist state across jobs (the uv cache, the prewarm data dir, the target dir kept via cache: false), so anything that executes there outlives the run and is reused by later jobs, including jobs on main.

Why 7 days. Long enough to cover the interval in which published action compromises have typically been found and yanked; GitHub's implicit default of 3 days has been shorter than that interval in practice. Cooldown applies to version updates only — security updates are explicitly exempt and still land immediately.

  • Risk: low. Config-only; the sole behavioral effect is that routine SHA bumps arrive up to 4 days later than they would today.

Scope / non-goals

Deliberately not included, to keep this to one change — happy to follow up on either if maintainers want them:

  • Guarding the self-hosted GPU lanes with github.actor != 'dependabot[bot]'. This would remove the persistent-runner exposure outright rather than just delaying it; the tradeoff is that an Actions bump then gets GPU-lane validation only after merge (those jobs are continue-on-error: true, so they gate nothing today).
  • Splitting first-party actions/* from third-party actions into separate groups, so a third-party bump can't ride along in a batch of routine ones.

Test plan

  • .github/dependabot.yml parses and yields the intended structure (cooldown.default-days: 7 alongside the existing schedule and groups); prek run --all-files --no-group local-tools passes, including check-yaml.

  • default-days is documented as supported for every listed package manager, GitHub Actions included. Only default-days is used — the semver-*-days variants are documented as applying "only to package managers supporting SemVer", and I did not confirm GitHub Actions is one of them.

  • No local verification of Dependabot's runtime behavior is possible; that is observable only on the next scheduled run.

  • If this PR fixes a bug, searched tests/e2e-cucumber/expectations.toml for the fixed ticket ID and removed/narrowed any now-stale xfail rows. — n/a, no bug fix.

Pinning actions to SHAs stops a tag from being moved under us, but it
does not cover the moment we adopt a new SHA. A bump PR runs the new
action's code on CI before anyone reads the diff, and because every path
filter in ci.yml folds in `.github/workflows/**`, such a PR trips the
`heavy` filter and reaches the self-hosted GPU lanes. Those runners
persist caches and build state across jobs, so anything that executes
there outlives the run.

GitHub already delays version updates by 3 days; published action
compromises have gone unnoticed for longer, so wait 7. Cooldown applies
to version updates only, so security updates still land immediately.

Signed-off-by: Roman Inflianskas <Roman.Inflianskas@amd.com>
@rominf
rominf requested a review from a team as a code owner July 31, 2026 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant