deps: enhance Dependabot config for monorepo coverage and security

- Add npm monitoring for apps/api, apps/web, and libs/mcp-servers
  directories alongside root workspace
- Reduce open-pull-requests-limit from 10 to 5 per ecosystem
- Add dependency groups for Next.js and React packages
- Remove stale pip and docker entries for non-existent libs/ai-services
- Add documentation header explaining security update strategy
- Security updates rely on GitHub's built-in Dependabot Security
  Updates feature (daily automatic PRs for advisories)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Ho Ngoc Hai
2026-04-10 21:13:09 +07:00
parent 9cfea31905
commit 9b786c1c95

116
.github/dependabot.yml vendored
View File

@@ -1,7 +1,20 @@
version: 2 version: 2
# ─────────────────────────────────────────────────────────────────────
# Dependabot configuration for GoodGo Platform monorepo
#
# Version updates: weekly (Monday 06:00 ICT)
# Security updates: enabled repo-wide via GitHub Dependabot Security
# Updates (Settings → Code security → Dependabot security updates).
# Security PRs are created automatically within hours of advisory
# publication — no schedule entry needed here.
#
# PR limit: 5 per ecosystem/directory to keep review load manageable.
# Grouping: minor + patch bundled together to reduce PR noise.
# ─────────────────────────────────────────────────────────────────────
updates: updates:
# ── Node.js / pnpm dependencies ────────────────────────────────── # ── npm: Root workspace (pnpm lockfile covers all packages) ────────
- package-ecosystem: "npm" - package-ecosystem: "npm"
directory: "/" directory: "/"
schedule: schedule:
@@ -9,13 +22,11 @@ updates:
day: "monday" day: "monday"
time: "06:00" time: "06:00"
timezone: "Asia/Ho_Chi_Minh" timezone: "Asia/Ho_Chi_Minh"
open-pull-requests-limit: 10 open-pull-requests-limit: 5
reviewers: reviewers:
- "goodgo/platform-team" - "goodgo/platform-team"
labels: labels:
- "dependencies" - "dependencies"
- "security"
# Group minor/patch updates to reduce PR noise
groups: groups:
dev-dependencies: dev-dependencies:
patterns: patterns:
@@ -45,14 +56,28 @@ updates:
update-types: update-types:
- "minor" - "minor"
- "patch" - "patch"
# Security updates always get individual PRs (not grouped) nextjs:
patterns:
- "next"
- "next-*"
update-types:
- "minor"
- "patch"
react:
patterns:
- "react"
- "react-dom"
- "@types/react*"
update-types:
- "minor"
- "patch"
commit-message: commit-message:
prefix: "deps" prefix: "deps"
include: "scope" include: "scope"
# ── Python dependencies (AI services) ──────────────────────────── # ── npm: apps/api ──────────────────────────────────────────────────
- package-ecosystem: "pip" - package-ecosystem: "npm"
directory: "/libs/ai-services" directory: "/apps/api"
schedule: schedule:
interval: "weekly" interval: "weekly"
day: "monday" day: "monday"
@@ -61,10 +86,62 @@ updates:
open-pull-requests-limit: 5 open-pull-requests-limit: 5
labels: labels:
- "dependencies" - "dependencies"
- "security" - "api"
- "ai-services" groups:
api-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
commit-message: commit-message:
prefix: "deps(ai)" prefix: "deps(api)"
include: "scope"
# ── npm: apps/web ──────────────────────────────────────────────────
- package-ecosystem: "npm"
directory: "/apps/web"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
timezone: "Asia/Ho_Chi_Minh"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "web"
groups:
web-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
commit-message:
prefix: "deps(web)"
include: "scope"
# ── npm: libs/mcp-servers ──────────────────────────────────────────
- package-ecosystem: "npm"
directory: "/libs/mcp-servers"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
timezone: "Asia/Ho_Chi_Minh"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "mcp"
groups:
mcp-minor-patch:
patterns:
- "*"
update-types:
- "minor"
- "patch"
commit-message:
prefix: "deps(mcp)"
include: "scope" include: "scope"
# ── GitHub Actions ─────────────────────────────────────────────── # ── GitHub Actions ───────────────────────────────────────────────
@@ -90,7 +167,7 @@ updates:
prefix: "ci" prefix: "ci"
include: "scope" include: "scope"
# ── Docker base images ────────────────────────────────────────── # ── Docker: apps/api ────────────────────────────────────────────
- package-ecosystem: "docker" - package-ecosystem: "docker"
directory: "/apps/api" directory: "/apps/api"
schedule: schedule:
@@ -105,6 +182,7 @@ updates:
commit-message: commit-message:
prefix: "docker(api)" prefix: "docker(api)"
# ── Docker: apps/web ────────────────────────────────────────────
- package-ecosystem: "docker" - package-ecosystem: "docker"
directory: "/apps/web" directory: "/apps/web"
schedule: schedule:
@@ -118,17 +196,3 @@ updates:
- "docker" - "docker"
commit-message: commit-message:
prefix: "docker(web)" prefix: "docker(web)"
- package-ecosystem: "docker"
directory: "/libs/ai-services"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
timezone: "Asia/Ho_Chi_Minh"
open-pull-requests-limit: 3
labels:
- "dependencies"
- "docker"
commit-message:
prefix: "docker(ai)"