Skip to content

Commit 2d1722e

Browse files
chore: Added depend-a-bot configs (#90)
1 parent 18ce59c commit 2d1722e

File tree

2 files changed

+145
-0
lines changed

2 files changed

+145
-0
lines changed

.github/DEPENDABOT.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Dependabot Configuration
2+
3+
This repository uses [Dependabot](https://docs.github.com/en/code-security/dependabot) to automatically manage dependency updates.
4+
5+
## What's Configured
6+
7+
### 1. **npm Dependencies** (`/.github/dependabot.yml`)
8+
9+
- **Schedule**: Weekly on Mondays at 06:00 UTC
10+
- **Grouping**:
11+
- `@dynatrace-sdk/*` packages are grouped together
12+
- Development dependencies are grouped separately
13+
- Major updates are grouped separately for careful review
14+
- **Limits**: Maximum 10 open PRs at once
15+
- **Auto-ignore**: Major version updates for `@modelcontextprotocol/sdk` and `dt-app` to prevent breaking changes
16+
17+
### 2. **GitHub Actions** (`/.github/dependabot.yml`)
18+
19+
- **Schedule**: Weekly on Mondays at 06:00 UTC
20+
- **Limits**: Maximum 5 open PRs at once
21+
- Updates GitHub Actions in workflows to latest versions
22+
23+
### 3. **Docker Dependencies** (`/.github/dependabot.yml`)
24+
25+
- **Schedule**: Weekly on Mondays at 06:00 UTC
26+
- **Limits**: Maximum 3 open PRs at once
27+
- Updates base images in Dockerfile
28+
29+
## Manual Review Process
30+
31+
All dependency updates require manual review and approval:
32+
33+
- **All Updates**: Maintainers review and approve all dependency updates
34+
- **CI Testing**: All PRs go through the standard CI pipeline (build, test, prettier)
35+
- **Grouped PRs**: Related dependencies are updated together for easier review
36+
- **Clear Labeling**: PRs are properly categorized and assigned to maintainers
37+
38+
## How It Works
39+
40+
1. **Weekly Check**: Every Monday, Dependabot checks for outdated dependencies
41+
2. **PR Creation**: Creates PRs for available updates (grouped by category)
42+
3. **Assignment**: PRs are automatically assigned to `dynatrace-oss/dynatrace-mcp-maintainers`
43+
4. **CI Testing**: All PRs go through the standard CI pipeline (build, test, prettier)
44+
5. **Manual Review**: Maintainers review and manually merge approved PRs
45+
6. **Full Control**: No automatic merging ensures careful review of all changes
46+
47+
## Customization
48+
49+
To modify Dependabot behavior:
50+
51+
- Edit `.github/dependabot.yml` for dependency monitoring configuration
52+
- Adjust grouping, scheduling, or ignore rules as needed
53+
54+
## Benefits
55+
56+
- **Security**: Automatic detection of security updates
57+
- **Visibility**: Clear overview of available dependency updates
58+
- **Organization**: Related dependencies are grouped together
59+
- **Control**: Full manual control over what gets merged and when
60+
- **CI Integration**: All updates are tested before review

.github/dependabot.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
version: 2
2+
updates:
3+
# Enable version updates for npm
4+
- package-ecosystem: 'npm'
5+
directory: '/'
6+
schedule:
7+
interval: 'weekly'
8+
day: 'monday'
9+
time: '06:00'
10+
timezone: 'UTC'
11+
open-pull-requests-limit: 10
12+
reviewers:
13+
- 'dynatrace-oss/dynatrace-mcp-maintainers'
14+
assignees:
15+
- 'dynatrace-oss/dynatrace-mcp-maintainers'
16+
commit-message:
17+
prefix: 'deps'
18+
prefix-development: 'deps-dev'
19+
include: 'scope'
20+
labels:
21+
- 'dependencies'
22+
- 'automated'
23+
# Group updates for better management
24+
groups:
25+
dynatrace-sdk:
26+
patterns:
27+
- '@dynatrace-sdk/*'
28+
update-types:
29+
- 'minor'
30+
- 'patch'
31+
dev-dependencies:
32+
dependency-type: 'development'
33+
update-types:
34+
- 'minor'
35+
- 'patch'
36+
major-updates:
37+
update-types:
38+
- 'major'
39+
# Ignore specific packages if needed
40+
ignore:
41+
# Ignore major version updates for core dependencies to avoid breaking changes
42+
- dependency-name: '@modelcontextprotocol/sdk'
43+
update-types: ['version-update:semver-major']
44+
- dependency-name: 'dt-app'
45+
update-types: ['version-update:semver-major']
46+
47+
# Enable version updates for GitHub Actions
48+
- package-ecosystem: 'github-actions'
49+
directory: '/'
50+
schedule:
51+
interval: 'weekly'
52+
day: 'monday'
53+
time: '06:00'
54+
timezone: 'UTC'
55+
open-pull-requests-limit: 5
56+
reviewers:
57+
- 'dynatrace-oss/dynatrace-mcp-maintainers'
58+
assignees:
59+
- 'dynatrace-oss/dynatrace-mcp-maintainers'
60+
commit-message:
61+
prefix: 'ci'
62+
include: 'scope'
63+
labels:
64+
- 'github-actions'
65+
- 'automated'
66+
67+
# Enable version updates for Docker
68+
- package-ecosystem: 'docker'
69+
directory: '/'
70+
schedule:
71+
interval: 'weekly'
72+
day: 'monday'
73+
time: '06:00'
74+
timezone: 'UTC'
75+
open-pull-requests-limit: 3
76+
reviewers:
77+
- 'dynatrace-oss/dynatrace-mcp-maintainers'
78+
assignees:
79+
- 'dynatrace-oss/dynatrace-mcp-maintainers'
80+
commit-message:
81+
prefix: 'docker'
82+
include: 'scope'
83+
labels:
84+
- 'docker'
85+
- 'automated'

0 commit comments

Comments
 (0)