Skip to content

Commit 58a28b7

Browse files
committed
Dependabot config
1 parent 9df8fd9 commit 58a28b7

File tree

2 files changed

+124
-0
lines changed

2 files changed

+124
-0
lines changed

.github/dependabot.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Dependabot configuration
2+
# - Only security updates (version updates disabled via open-pull-requests-limit: 0)
3+
# - Dependencies grouped within each ecosystem/directory
4+
# - 3-day minimum release age for new versions (so they can't be unpublished in NPM)
5+
# - Labels: "dependencies" (default), language-specific (javascript/ruby/github-actions), "full-ci"
6+
#
7+
# Note: Root pnpm workspace (/) covers packages/react-on-rails, etc.
8+
# Dummy apps have separate lock files and are listed explicitly.
9+
10+
version: 2
11+
12+
updates:
13+
# NPM/PNPM packages - root workspace and dummy apps
14+
- package-ecosystem: "npm"
15+
directories:
16+
- "/"
17+
- "/react_on_rails/spec/dummy"
18+
- "/react_on_rails_pro/spec/dummy"
19+
schedule:
20+
interval: "weekly"
21+
labels:
22+
- "dependencies"
23+
- "javascript"
24+
- "full-ci"
25+
# Disable version update PRs - only security updates will be created
26+
open-pull-requests-limit: 0
27+
cooldown:
28+
default-days: 3
29+
groups:
30+
npm-security:
31+
applies-to: security-updates
32+
patterns:
33+
- "*"
34+
35+
# Ruby gems - Open source and Pro gems (including dummy apps)
36+
# Root directory is not included because it reuses the Gemfile from react_on_rails
37+
- package-ecosystem: "bundler"
38+
directories:
39+
- "/react_on_rails"
40+
- "/react_on_rails/spec/dummy"
41+
- "/react_on_rails_pro"
42+
- "/react_on_rails_pro/spec/dummy"
43+
- "/react_on_rails_pro/spec/execjs-compatible-dummy"
44+
schedule:
45+
interval: "weekly"
46+
labels:
47+
- "dependencies"
48+
- "ruby"
49+
- "full-ci"
50+
open-pull-requests-limit: 0
51+
cooldown:
52+
default-days: 3
53+
groups:
54+
bundler-security:
55+
applies-to: security-updates
56+
patterns:
57+
- "*"
58+
59+
# GitHub Actions
60+
- package-ecosystem: "github-actions"
61+
directory: "/"
62+
schedule:
63+
interval: "weekly"
64+
labels:
65+
- "dependencies"
66+
- "github-actions"
67+
- "full-ci"
68+
open-pull-requests-limit: 0
69+
cooldown:
70+
default-days: 3
71+
groups:
72+
actions-security:
73+
applies-to: security-updates
74+
patterns:
75+
- "*"

docs/MONOREPO_MERGER_PLAN.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,9 @@ After the initial merge, the following CI adjustments may be needed:
476476
- [ ] Remove empty `react_on_rails_pro/` directory
477477
- [ ] Update all require paths in Ruby code
478478
- [ ] Update gemspec file paths and dependencies
479+
- [ ] **Update `.github/dependabot.yml`** to reflect final directory structure:
480+
- Remove `/react_on_rails_pro` bundler entry (directory no longer exists)
481+
- Update bundler directory from `/react_on_rails` to `/` (root now has both gemspecs)
479482

480483
**License Compliance:**
481484

@@ -741,6 +744,52 @@ license-compliance:
741744
run: ruby script/check-license-compliance.rb
742745
```
743746
747+
## Configuration Files
748+
749+
When directories are moved or renamed during the merger, the following configuration files must be updated to reflect the new structure:
750+
751+
| File | What to Update |
752+
| ------------------------ | ----------------------------------------------- |
753+
| `.github/dependabot.yml` | `directory:` entries for bundler/npm ecosystems |
754+
| `.rubocop.yml` | Exclusion patterns |
755+
| `eslint.config.ts` | Ignore patterns |
756+
| `.prettierignore` | Ignored directories |
757+
| `knip.ts` | Ignore patterns |
758+
759+
### Dependabot Configuration
760+
761+
The `.github/dependabot.yml` file configures automated security updates. It must be kept in sync with the repository structure.
762+
763+
**Current Configuration (Pre-Phase 6):**
764+
765+
```yaml
766+
# Bundler entries
767+
- directory: '/react_on_rails' # Open source gem
768+
- directory: '/react_on_rails_pro' # Pro gem
769+
770+
# NPM entries
771+
- directory: '/' # Root pnpm workspace
772+
- directory: '/spec/react_on_rails/dummy-for-generators' # Yarn-based generator dummy
773+
```
774+
775+
**Final Configuration (Post-Phase 6):**
776+
777+
```yaml
778+
# Bundler entries
779+
- directory: '/' # Root now contains both gemspecs
780+
781+
# NPM entries (unchanged)
782+
- directory: '/'
783+
- directory: '/spec/react_on_rails/dummy-for-generators'
784+
```
785+
786+
**When to Update dependabot.yml:**
787+
788+
- When Gemfile locations change
789+
- When package.json files are added/moved/removed
790+
- When new workspaces are added
791+
- When directories containing lock files are restructured
792+
744793
## Risk Management
745794

746795
### High-Risk Phases

0 commit comments

Comments
 (0)