Skip to content

chore(dependabot): weekly + grouped updates to cut Chromatic snapshots#127

Merged
dgraciac merged 1 commit into
mainfrom
chore/dependabot-weekly-grouped
Jun 18, 2026
Merged

chore(dependabot): weekly + grouped updates to cut Chromatic snapshots#127
dgraciac merged 1 commit into
mainfrom
chore/dependabot-weekly-grouped

Conversation

@dgraciac

Copy link
Copy Markdown
Member

Why

Dependabot is the dominant Chromatic snapshot drain. Of the last 100 Chromatic builds (~5 days), 65 were Dependabot PRs, and each is a full ~89-story rebuild — a Dependabot bump always changes the lockfile, and a lockfile change defeats TurboSnap (Chromatic full-rebuilds because a dependency could affect any component). Daily cadence + one PR per package + a fresh full rebuild on every rebase of every open PR (e.g. base-ui/react rebuilt 5× in one night) burned a month's OSS-tier budget (7,500) in ~5 days.

What

.github/dependabot.yml only:

  • npm + github-actions → weekly (was daily).
  • Group the dev-tooling churn (Storybook addons, Vite, Vitest, ESLint, chromatic CLI, @types/*, …) into one PR via a dev-dependencies group (development + minor/patch). Majors stay ungrouped for individual review.
  • Keep the existing react/react-dom group (exact-version match, PR chore(deps-dev): bump react from 19.2.5 to 19.2.6 #72).
  • Group all github-actions bumps into one PR.

One grouped weekly PR ≈ one Chromatic build instead of many.

What this does NOT change

  • Chromatic still runs on Dependabot PRs — visual checks are not skipped (this is deliberately the lighter of the two options considered; the heavier skip: option was set aside to keep bot PRs visually checked).
  • Auto-merge preserved: the dev group is dev-only + non-major, so it still matches the dependency-type == direct:development && update-type != major gate in dependabot-auto-merge.yml. fetch-metadata reports grouped dev PRs as direct:development with the highest (non-major) bump.

Expected effect

Cuts Dependabot-origin builds ~80–90% (frequency + grouping + no rebase amplification). Estimated overall Chromatic snapshots/month: ~45k → ~10–13k. A meaningful reduction, though each remaining bot build is still a full rebuild, so it may not fully clear the 7,500 tier on its own — the skip: option remains available later if needed.

Config-only (YAML) — no changeset (does not affect the published package).

🤖 Generated with Claude Code

Dependabot was the dominant Chromatic snapshot drain: ~65 of the last 100
Chromatic builds were Dependabot PRs, each a FULL ~89-story rebuild
(a lockfile change defeats TurboSnap — a dependency could affect any
component), amplified by daily cadence, ungrouped per-package PRs, and a
fresh rebuild on every rebase of every open PR. That alone burned a
month's OSS-tier budget (7,500) in ~5 days.

Switch npm + github-actions updates to weekly, and group the dev-tooling
churn into a single PR (plus the existing react/react-dom group; majors
stay ungrouped). One grouped weekly PR ≈ one build instead of many.

Chromatic still runs on Dependabot PRs — visual checks are NOT skipped,
there are just far fewer of them. Auto-merge is preserved: the dev group
is dev-only + non-major, matching the dependabot-auto-merge gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dgraciac dgraciac merged commit 1747be0 into main Jun 18, 2026
6 checks passed
@dgraciac dgraciac deleted the chore/dependabot-weekly-grouped branch June 18, 2026 07:22
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