Skip to content

Commit 91ae742

Browse files
precise, repo‑specific dependabot role
1 parent a333038 commit 91ae742

File tree

2 files changed

+39
-85
lines changed

2 files changed

+39
-85
lines changed

.github/dependabot.yml

Lines changed: 28 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,46 @@
1-
# .github/dependabot.yml
21
version: 2
32
updates:
43

5-
#######################################
6-
# GitHub Actions (Security Best Practice)
7-
#######################################
8-
- package-ecosystem: "github-actions"
9-
directory: "/"
10-
schedule:
11-
interval: "daily"
12-
labels:
13-
- "dependabot"
14-
commit-message:
15-
prefix: "deps"
16-
include: "scope"
17-
18-
#######################################
19-
# Python (pip) — e.g., requirements.txt
20-
#######################################
4+
# --- Python (Poetry via pip ecosystem) ---
215
- package-ecosystem: "pip"
226
directory: "/"
237
schedule:
248
interval: "daily"
25-
labels:
26-
- "dependabot"
27-
commit-message:
28-
prefix: "pip"
29-
include: "scope"
30-
31-
#######################################
32-
# Docker Dependencies — updates FROM images
33-
#######################################
34-
- package-ecosystem: "docker"
35-
directory: "/"
36-
schedule:
37-
interval: "daily"
38-
labels:
39-
- "dependabot"
40-
commit-message:
41-
prefix: "docker"
42-
include: "scope"
9+
target-branch: "master"
10+
labels: ["dependencies", "python", "poetry"]
11+
open-pull-requests-limit: 10
12+
ignore:
13+
- dependency-name: "*"
14+
update-types: ["version-update:semver-major"]
4315

44-
#######################################
45-
# Maven (pom.xml)
46-
#######################################
47-
- package-ecosystem: "maven"
16+
# --- NodeJS (root) ---
17+
- package-ecosystem: "npm"
4818
directory: "/"
4919
schedule:
5020
interval: "daily"
51-
labels:
52-
- "dependabot"
53-
commit-message:
54-
prefix: "maven"
55-
include: "scope"
21+
target-branch: "master"
22+
labels: ["dependencies", "npm"]
23+
open-pull-requests-limit: 10
24+
ignore:
25+
- dependency-name: "*"
26+
update-types: ["version-update:semver-major"]
5627

57-
#######################################
58-
# Gradle (build.gradle, gradle.properties)
59-
#######################################
60-
- package-ecosystem: "gradle"
61-
directory: "/"
28+
# --- NodeJS (sandbox/) ---
29+
- package-ecosystem: "npm"
30+
directory: "/sandbox"
6231
schedule:
6332
interval: "daily"
64-
labels:
65-
- "dependabot"
66-
commit-message:
67-
prefix: "gradle"
68-
include: "scope"
33+
target-branch: "master"
34+
labels: ["dependencies", "npm", "sandbox"]
35+
open-pull-requests-limit: 10
36+
ignore:
37+
- dependency-name: "*"
38+
update-types: ["version-update:semver-major"]
6939

70-
#######################################
71-
# JavaScript (npm / package.json)
72-
#######################################
73-
- package-ecosystem: "npm"
40+
# --- GitHub Actions ---
41+
- package-ecosystem: "github-actions"
7442
directory: "/"
7543
schedule:
7644
interval: "daily"
77-
labels:
78-
- "dependabot"
79-
commit-message:
80-
prefix: "npm"
81-
include: "scope"
45+
target-branch: "master"
46+
labels: ["dependencies", "github-actions"]

.github/workflows/dependabot-auto-merge.yml

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,36 @@
11
name: Dependabot auto-merge
22

33
on:
4-
pull_request:
4+
pull_request_target:
5+
types: [opened, reopened, synchronize, ready_for_review]
56

67
permissions:
78
contents: write
89
pull-requests: write
910

1011
jobs:
11-
dependabot:
12-
name: Approve & auto-merge Dependabot PRs
12+
automerge:
13+
name: Auto-merge Dependabot patch updates
1314
runs-on: ubuntu-latest
1415

15-
# Only run for PRs opened by Dependabot
16+
# Only run on Dependabot PRs
1617
if: github.event.pull_request.user.login == 'dependabot[bot]'
1718

1819
steps:
19-
# 1) Fetch Dependabot metadata (pinned SHA + tag comment for humans/renovators)
20-
- name: Dependabot metadata
21-
id: metadata
22-
uses: dependabot/fetch-metadata@21025c7d3b7c1eb5122b2f4f30b18d6c8b8c52df
20+
- name: Fetch Dependabot metadata
21+
id: meta
22+
uses: dependabot/fetch-metadata@v2
2323
with:
2424
github-token: ${{ secrets.GITHUB_TOKEN }}
2525

26-
# 2) (Optional) Log what’s being updated for troubleshooting
27-
- name: Summarize update
28-
run: |
29-
echo "Dependencies: ${{ steps.metadata.outputs.dependency-names }}"
30-
echo "Update type: ${{ steps.metadata.outputs.update-type }}"
31-
32-
# 3) Approve the PR (required if code owner reviews are enforced)
33-
- name: Approve Dependabot PR
26+
- name: Approve PR
3427
run: gh pr review --approve "$PR_URL"
3528
env:
3629
PR_URL: ${{ github.event.pull_request.html_url }}
3730
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3831

39-
# 4) Enable auto-merge for safe updates (patch + minor).
40-
# Adjust the condition if you want patch-only or include majors.
41-
- name: Enable auto-merge (patch/minor)
42-
if: |
43-
steps.metadata.outputs.update-type == 'version-update:semver-patch' ||
44-
steps.metadata.outputs.update-type == 'version-update:semver-minor'
32+
- name: Auto-merge patch updates only
33+
if: steps.meta.outputs.update-type == 'version-update:semver-patch'
4534
run: gh pr merge --auto --squash "$PR_URL"
4635
env:
4736
PR_URL: ${{ github.event.pull_request.html_url }}

0 commit comments

Comments
 (0)