@@ -25,20 +25,21 @@ All workflows have been enhanced with:
2525
2626** Jobs:**
2727
28- - ** Build and Test** (Matrix: Node.js 18 .x, 20 .x):
28+ - ** Build and Test** (Matrix: Node.js 20 .x, 22 .x) — * skipped for Dependabot * :
2929 - ✅ Install dependencies with npm ci
3030 - ✅ TypeScript type checking via ` npm run typecheck `
3131 - ✅ ** Run Vitest tests** with ` npm run test:run `
3232 - ✅ Frontend build verification (Vite)
3333 - ✅ C++ server compilation with Make
3434 - ✅ Binary verification
35- - ✅ Upload build artifacts (dist/ and omnigrid_server)
36- - ** Code Quality Check** :
35+ - ✅ Upload build artifacts (dist/ and omnigrid_server) for Node 20.x
36+ - ** Dependabot Smoke** (Node 20 only) — * only for Dependabot PRs* :
37+ - ✅ Typecheck + unit tests (lightweight gate; no matrix / C++ / coverage)
38+ - ** Code Quality Check** (always runs, including Dependabot — ** Prettier gate** ):
3739 - ✅ ** ESLint** validation with ` npm run lint `
38- - ✅ ** Prettier** format checking with ` npm run format:check `
39- - ✅ Console.log detection (fails build if found in source)
40+ - ✅ ** Prettier** format checking with ` npm run format:check ` (fails CI on drift)
4041 - ✅ TODO/FIXME comment detection (warning only)
41- - ** Test Coverage** :
42+ - ** Test Coverage** — * skipped for Dependabot * :
4243 - ✅ Run tests with coverage reporting
4344 - ✅ Upload coverage artifacts
4445 - ✅ ** Post coverage report as PR comment**
@@ -188,7 +189,7 @@ All workflows have been enhanced with:
188189
189190** Schedule:** Weekly on Monday at 09:00 UTC
190191
191- ** Purpose:** Automated dependency updates
192+ ** Purpose:** Automated dependency updates with grouped PRs to reduce noise
192193
193194** Ecosystems:**
194195
@@ -199,25 +200,43 @@ All workflows have been enhanced with:
199200
200201- Automatic PR creation for updates
201202- Weekly schedule to minimize noise
202- - Labels: ` dependencies ` , ` automated `
203+ - Labels: ` dependencies ` , ` npm ` / ` github-actions ` , ` automated `
203204- Auto-reviewers assigned
205+ - ** Grouped updates** (noise reduction):
206+ - ` production-dependencies ` — minor/patch production deps
207+ - ` development-dependencies ` — minor/patch dev deps
208+ - ` eslint-stack ` — eslint, @eslint /* , @typescript-eslint /*
209+ - ` vitest-stack ` — vitest, @vitest /*
210+ - ` testing-library ` — @testing-library /*
211+ - ` github-actions ` — all Actions minor/patch bumps
212+ - Major updates still open as individual PRs for review
204213
205214---
206215
207216### Auto-merge Dependabot (` auto-merge-dependabot.yml ` )
208217
209218** Triggers:** Pull Request events from Dependabot
210219
211- ** Purpose:** Automatically merge safe dependency updates
220+ ** Purpose:** Automatically merge safe dependency updates and apply metadata labels
212221
213222** Jobs:**
214223
215224- ** Auto-merge** :
216- - ✅ Fetch Dependabot metadata
225+ - ✅ Fetch Dependabot metadata (` dependabot/fetch-metadata@v2 ` )
226+ - ✅ ** Ensure metadata labels exist** (` semver-major ` , ` semver-minor ` , ` semver-patch ` , ` production ` , ` development ` , ` npm ` , ` github-actions ` )
227+ - ✅ ** Apply metadata labels** based on update-type, dependency-type, and package-ecosystem
217228 - ✅ Check update type (major/minor/patch)
218229 - ✅ Auto-approve minor and patch updates
219230 - ✅ Enable auto-merge for safe updates
220- - ✅ Comment on major updates requiring manual review
231+ - ✅ Comment on major updates requiring manual review (with ` semver-major ` label)
232+
233+ ** Metadata labels applied:**
234+
235+ | Label | Source |
236+ | -------| --------|
237+ | ` semver-major ` / ` semver-minor ` / ` semver-patch ` | ` update-type ` |
238+ | ` production ` / ` development ` | ` dependency-type ` |
239+ | ` npm ` / ` github-actions ` | ` package-ecosystem ` |
221240
222241** Safety:** Only auto-merges minor and patch updates
223242
@@ -430,7 +449,7 @@ File: `.github/labeler.yml`
430449
431450** Automatic Labels:**
432451
433- - ` documentation ` : Changes to docs/\* _ or _ .md files
452+ - ` documentation ` : Changes to docs/\* _ or \* .md files
434453- ` frontend ` : Changes to components/, widgets/, \* .tsx files
435454- ` backend ` : Changes to server/ or C++ files
436455- ` services ` : Changes to services/
@@ -444,71 +463,14 @@ File: `.github/labeler.yml`
444463- ` size/S ` : 10-49 lines changed
445464- ` size/M ` : 50-199 lines changed
446465- ` size/L ` : 200-499 lines changed
447- - ` size/XL ` : 500+ lines changed
448-
449- ---
450-
451- ## 🛠️ Development Commands
452-
453- ### New Scripts Added
454-
455- ``` bash
456- # Testing
457- npm test # Run tests in watch mode
458- npm run test:run # Run tests once
459- npm run test:ui # Run tests with UI
460- npm run test:coverage # Run tests with coverage report
461-
462- # Linting & Formatting
463- npm run lint # Run ESLint
464- npm run lint:fix # Fix ESLint issues
465- npm run format # Format all files with Prettier
466- npm run format:check # Check formatting without changing files
467-
468- # Type Checking
469- npm run typecheck # Run TypeScript type checking
470-
471- # Building
472- npm run build # Build frontend
473- npm run build:server # Build C++ server
474- npm run build:all # Build both frontend and server
475- npm run assets:generate # Generate screenshot asset manifest locally
476- npm run artifacts:generate # Generate build artifact manifest locally (requires prior `npm run build`)
477- ```
466+ - ` size/XL ` : ≥ 500 lines changed
478467
479468---
480469
481- ## 🎯 Best Practices
482-
483- ### For Contributors
484-
485- 1 . ✅ Run ` npm run lint ` and ` npm run format:check ` before committing
486- 2 . ✅ Run ` npm run test:run ` to ensure all tests pass
487- 3 . ✅ Keep PRs focused and reasonably sized (< 500 lines when possible)
488- 4 . ✅ Update documentation for new features
489- 5 . ✅ Add tests for bug fixes and new features
490- 6 . ✅ Follow the PR template guidelines
491- 7 . ✅ Ensure all CI checks pass before requesting review
492-
493- ### For Maintainers
494-
495- 1 . ✅ Review security alerts from CodeQL and Dependabot promptly
496- 2 . ✅ Monitor workflow performance reports
497- 3 . ✅ Keep dependencies up to date
498- 4 . ✅ Review and merge Dependabot PRs regularly
499- 5 . ✅ Use workflow badges in README to communicate project health
500- 6 . ✅ Check test coverage trends
501-
502- ---
503-
504- ## 🔧 Maintenance
505-
506- ### Regular Tasks
470+ ## 🔄 Maintenance Schedule
507471
508- - ** Daily** : Automated dependency audits and stale issue checks
509- - ** Weekly** :
510- - Review Dependabot PRs
511- - Check CodeQL security scan results
472+ - ** Daily** : Stale bot, dependency audit (scheduled)
473+ - ** Weekly** : Dependabot version updates (Monday 09:00 UTC), CodeQL
512474- ** Monthly** : Review stale issues and PRs manually
513475- ** Quarterly** :
514476 - Review and update workflow configurations
@@ -537,5 +499,5 @@ npm run artifacts:generate # Generate build artifact manifest locally (requires
537499
538500---
539501
540- _ Last Updated: 2026-05-28 _
502+ _ Last Updated: 2026-08-20 _
541503_ For questions or issues with workflows, please open an issue with the ` ci-cd ` label._
0 commit comments