Skip to content

ci(dependabot): add version update configuration - #699

Open
kstruempf wants to merge 1 commit into
capacitor-community:masterfrom
independo-gmbh:chore/dependabot-config
Open

ci(dependabot): add version update configuration#699
kstruempf wants to merge 1 commit into
capacitor-community:masterfrom
independo-gmbh:chore/dependabot-config

Conversation

@kstruempf

Copy link
Copy Markdown
Contributor

Adds a .github/dependabot.yml. Independent of #698 — no shared commits, branched straight off master, so the two can be reviewed and merged in either order.

Why

The repo has no dependency automation, so drift only surfaces when someone trips over it. Two recent examples: the deleted capacitor-swift-pm branch behind #697, and the 13 npm advisories cleared in #698 (1 critical, 6 high).

What is covered

ecosystem directory manifest
npm / package.json, package-lock.json
gradle /android android/build.gradle
swift / Package.swift
github-actions / .github/workflows/*

CocoaPods has no Dependabot ecosystem, so CapacitorCommunitySqlite.podspec still needs manual bumps. Called out in a comment in the file so it is not mistaken for an oversight.

Package.resolved is gitignored here, so the Swift updater bumps the declared version requirements only — which is exactly the class of drift that produced #697.

Tuning

Aimed at staying maintainable, not at maximum freshness:

  • Weekly, Monday 06:00 UTC, max 5 open PRs per ecosystem.
  • Grouped so a normal week is a handful of PRs rather than a dozen: @capacitor/* in one PR (they release in lockstep and CI validates them together), dev dependencies in one, production dependencies in one, all actions/* in one. Majors outside the Capacitor group stay ungrouped so each gets its own review.
  • Cooldown of 7 days, 14 for majors, 3 for patches — releases that get yanked or hotfixed within days never reach a PR.
  • Commit messages follow the existing convention: chore(deps): / chore(deps-dev):, and ci(deps): for actions, so commit-and-tag-version keeps producing sensible changelogs.

Security updates are deliberately not throttled. They are a separate Dependabot feature that ignores schedule, cooldown and open-pull-requests-limit, so advisories still open a PR as soon as a fix is published.

Note on activation

The config only takes effect once it is on the default branch of this repo and Dependabot is enabled in repository settings. Nothing happens from the fork side.

Verification

Config parses as valid YAML and every key is checked against the current Dependabot options reference. Behavior itself can only be confirmed after merge — the first scheduled run, or a manual "Check for updates" from the Insights → Dependency graph → Dependabot tab.

🤖 Generated with Claude Code

The repository has no dependency automation, so drift is only caught when
someone notices -- the deleted capacitor-swift-pm branch behind capacitor-community#697 and the
13 npm advisories cleared in capacitor-community#698 are both instances of that.

Configure Dependabot for the four ecosystems it can see: npm (root),
gradle (/android), swift (Package.swift) and github-actions. CocoaPods has
no Dependabot ecosystem, so CapacitorCommunitySqlite.podspec still needs
manual bumps; noted in a comment.

Tuned for low maintenance rather than maximum freshness:

- Weekly schedule, Monday 06:00 UTC, capped at 5 open PRs per ecosystem.
- Grouped so a normal week is a handful of PRs: @capacitor/* together
  (they release in lockstep and CI validates them together), dev
  dependencies together, production dependencies together, all actions/*
  together. Majors outside the Capacitor group stay ungrouped so they get
  their own review.
- A cooldown of 7 days (14 for majors, 3 for patches) so releases that get
  pulled or hotfixed within days never reach a PR.

None of this throttles security updates: those are a separate Dependabot
feature that ignores schedule, cooldown and open-pull-requests-limit, so
advisories still open a PR as soon as a fix ships.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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