Skip to content

Improve Dependabot configuration and coverage - #2477

Merged
MarceloRGonc merged 10 commits into
mainfrom
mg/dependabot-improvements
Sep 8, 2026
Merged

Improve Dependabot configuration and coverage#2477
MarceloRGonc merged 10 commits into
mainfrom
mg/dependabot-improvements

Conversation

@MarceloRGonc

@MarceloRGonc MarceloRGonc commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Fixes OPS-4799

MarceloRGonc and others added 3 commits September 7, 2026 15:19
Security updates were never grouped: `groups` defaults to
`applies-to: version-updates`, so every advisory - including transitive
ones - arrived as its own PR. That accounted for most of the noise.

Also fixes the `react` group, which never matched `react` itself, and
splits the production/development catch-alls to minor/patch so a single
breaking major cannot block an otherwise-mergeable batch. Adds family
groups for the largest dependency families in the root manifest.

npm moves to a Mon/Thu cron in Europe/Prague; cron cannot express
"every 3 days" and a day-of-month step breaks at month boundaries.
Docker and Actions stay weekly - they produce far fewer updates and
every run costs a full CI cycle.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Dependabot now watches Dockerfile and worker.Dockerfile, which were
previously unmanaged. It does not touch .nvmrc, so the Node version was
free to drift across the four places it is pinned.

check-node-version.sh asserts every Dockerfile stage agrees and that
.nvmrc matches; --fix syncs .nvmrc from the Dockerfiles and refuses to
run when the Dockerfiles disagree. The CI job mirrors the existing
check-licenses shape: fail with a hint, then auto-commit on
dependabot/ branches so the bump lands as one coherent PR.

Also annotates two SHA-pinned actions with their resolved versions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Each SHA was resolved against the upstream repository's tag list.
Without the trailer, Dependabot's PRs for these pins are unreadable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 7, 2026 14:22
@linear

linear Bot commented Sep 7, 2026

Copy link
Copy Markdown

OPS-4799

The script is bash-shebanged, so there is no portability reason to
prefer [. [[ ]] avoids word splitting and glob expansion on unquoted
operands.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The Dependabot cron schedule keys in .github/dependabot.yml appear invalid (cronjob/timezone), which can silently disable Dependabot updates.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR reduces Dependabot noise and improves update batching across npm, Docker, and GitHub Actions; it also adds CI automation to keep .nvmrc aligned with Node versions pinned in Dockerfiles, and annotates SHA-pinned actions with human-readable version trailers.

Changes:

  • Refactors .github/dependabot.yml to add security-update grouping, more granular dependency-family groups, and revised schedules/limits.
  • Adds tools/check-node-version.sh plus a new check-node-version CI job to detect (and on Dependabot branches, auto-fix + commit) .nvmrc drift vs Dockerfile Node pins.
  • Adds version trailers to SHA-pinned GitHub Actions uses: entries for readability.

Blocking

  • Dependabot cron scheduling uses cronjob (and timezone) under schedule, which is not the expected schema for interval: 'cron' and is likely to invalidate dependabot.yml (silently halting updates).

Non-blocking

  • None

Merge recommendation

  • Do not merge
File summaries
File Description
tools/check-node-version.sh Adds a Bash check (and --fix) to keep .nvmrc synchronized with Node versions pinned in Dockerfiles.
.github/workflows/ci.yml Introduces a CI job to enforce/sync .nvmrc consistency and adds version trailers to some pinned actions.
.github/dependabot.yml Expands grouping coverage and scheduling behavior for npm/docker/actions updates (contains the blocking cron-key issue).
.github/workflows/release.yml Adds a readable version trailer to a SHA-pinned action reference.
.github/workflows/pr-reviewer.yml Adds a readable version trailer to a SHA-pinned action reference.
Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/dependabot.yml
MarceloRGonc and others added 2 commits September 7, 2026 15:35
A mutable tag lets the action's owner change what runs in a job that
holds AWS credentials. Pinning to the commit removes that.

SHA resolved from the v6.2.4 tag via the git ref and cross-checked
against the tag list.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@MarceloRGonc
MarceloRGonc enabled auto-merge (squash) September 7, 2026 15:05
@sonarqubecloud

sonarqubecloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

@MarceloRGonc
MarceloRGonc merged commit 8973a21 into main Sep 8, 2026
23 checks passed
@MarceloRGonc
MarceloRGonc deleted the mg/dependabot-improvements branch September 8, 2026 07:29
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.

3 participants