Add Dependabot configuration
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 15/100
Research direction
Start with the requested .github/dependabot.yml, then inspect Dockerfile, the four files under .github/workflows/, and the repository's package manager metadata. Confirm Dependabot is not paused before validation. Done means the configuration is merged and Dependabot opens at least one reviewable pull request; the issue notes that this work is internal and does not accept external contributions.
Written by the indexing model from the issue text.
Description
There is no .github/dependabot.yml in the repo. Every version bump is manual, which is why the base image drifts for weeks at a time and why our GitHub Actions SHA pins only move when someone notices.
Add a config covering three ecosystems:
dockeron/, so theFROMtag inDockerfilegets a PR when a newer Amazon Linux 2023 snapshot ships. This is the one that removes the recurring manual bump.github-actionson/, so the SHA pins across the four workflows in.github/workflows/stay current.npmon/, grouped, so Dependabot takes over from our own periodic sweeps rather than just backstopping them.
Validation notes
I checked the open questions against dependabot-core and the live registry so the implementer does not have to re-derive them.
pnpm is fine. npm is the correct package-ecosystem value for pnpm. PNPMPackageManager::SUPPORTED_VERSIONS covers pnpm 7 through 12, so our 11.9.0 is in range, and the updater activates the exact version from our packageManager field through corepack, so there is no skew with what CI installs. Lockfile v9 is parsed via @pnpm/lockfile-file. Workspaces and catalogs are both handled, though we use no catalogs.
minimumReleaseAge does need cooldown. I reproduced the interaction: with minimumReleaseAge set and a range whose only match is too new, pnpm fails with ERR_PNPM_NO_MATURE_MATCHING_VERSION, which kills Dependabot's lockfile step so the PR never opens. Dependabot already applies a 3-day cooldown to version updates by default, which more than covers our 1440 minutes, but set it explicitly so the margin is visible in the config. Worth knowing that cooldown applies to version updates only, not to security-updates.
Docker needs no ECR credentials. The credentials finder only takes the AWS SDK path for *.dkr.ecr.<region>.amazonaws.com. public.ecr.aws is treated as a plain public registry: I confirmed an anonymous token followed by HTTP 200 on /v2/amazonlinux/amazonlinux/tags/list, 768 tags. No registries: block and no repo secrets.
Our tag shape compares correctly. 2023.12.20260803.3 is classified :year_month, and candidates have to match on format, precision, and suffix, so the -minimal, -amd64, and 5-segment variants are filtered out. Segments compare numerically, so 2023.9.* does not beat 2023.12.*.
Interval decisions
Settled rather than left to the implementer.
docker daily. It is a single ungrouped dependency, so Dependabot only opens or replaces a PR when a new snapshot actually ships. The median gap between AL2023 snapshots is 7 days, with recent ones at 3 to 5, so daily checking costs nothing and cuts worst-case lag from two weeks to one day. This needs an explicit cooldown.default-days: 1, otherwise the 3-day default cancels out the tighter interval. Docker supports default-days but not the semver-*-days keys.
npm weekly, not daily. group_update_refreshing.rb has three refresh paths, and the one that fires when target versions change closes the open group PR and opens a replacement. For a minor-and-patch group spanning ~130 dependencies that happens on nearly every run, so a daily interval would mean a near-daily cycle of superseded PRs, each burning a full CI run plus two docker builds and resetting any review in progress. Weekly keeps one PR stable for most of the week, and still beats the two-to-four-week cadence our manual sweeps actually ran at.
github-actions weekly and grouped. actions/checkout is pinned in all four workflows, so without a group a single bump produces four PRs.
Majors ungrouped. Grouping them means one breaking bump blocks every other major in the same PR, which is what Update dependencies and upgrade react-router to v8 (#1851) would have been. Let majors arrive individually and raise open-pull-requests-limit to absorb them.
Monday scheduling in America/Chicago so the queue lands when someone is around to clear it. This matters more than usual here, see the acceptance note below.
Starting config
version: 2
updates:
- package-ecosystem: docker
directory: /
schedule:
interval: daily
cooldown:
default-days: 1
open-pull-requests-limit: 2
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
open-pull-requests-limit: 3
groups:
actions:
patterns: ["*"]
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
day: monday
timezone: America/Chicago
open-pull-requests-limit: 8
cooldown:
default-days: 2
groups:
minor-and-patch:
update-types: [minor, patch]
Out of scope
Two things stay manual and should not be folded in here:
ENV NODE_VERSIONinDockerfileis invisible to the docker ecosystem, which only readsFROM.- The
overridesblock inpnpm-workspace.yamlis not parsed as dependencies, so stale entries still need pruning by hand.
Acceptance
A merged .github/dependabot.yml, and Dependabot opening at least one PR we can look at.
Before debugging the config, confirm Dependabot is not paused. gh api repos/aws/graph-explorer/automated-security-fixes currently returns {"enabled":true,"paused":true}. GitHub pauses Dependabot when maintainers stop interacting with its PRs, and it is resumed from Insights, then Dependency graph, then Dependabot.
[!IMPORTANT]
Internal only — this issue is maintained by the core team and is not accepting external contributions.
- Dominant language
- TypeScript
- Stars
- 481
- Forks
- 110
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 9
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws/graph-explorer
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
aws/graph-explorer#2199 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
aws/graph-explorer#2196 · 2 comments ·
-
help wanted needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
aws/graph-explorer#2060 ·
-
help wanted reliability usability
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
aws/graph-explorer#1977 · 2 comments ·
-
documentation usability
Difficulty 2/5 1-2 days Newbie friendliness 68/100
aws/graph-explorer#1719 ·
All issues in aws/graph-explorer
Similar issues
-
comp/dashboard P3 type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
NousResearch/hermes-agent#117722 ·
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·