Skip to content

Commit ca9a5ed

Browse files
authored
ci(dependabot): auto-rename dependabot update PRs (#33)
1 parent 9a55c6a commit ca9a5ed

File tree

3 files changed

+40
-3
lines changed

3 files changed

+40
-3
lines changed

.github/dependabot.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@ updates:
88
- package-ecosystem: 'npm' # See documentation for possible values
99
directory: '/' # Location of package manifests
1010
commit-message:
11-
prefix: 'build'
11+
prefix: 'deps' # packaged dependencies
12+
prefix-development: 'build' # dev-dependencies
13+
#include: 'scope'
1214
rebase-strategy: 'auto'
1315
schedule:
1416
interval: 'daily'
1517
- package-ecosystem: 'github-actions' # See documentation for possible values
1618
directory: '/' # Location of package manifests
1719
commit-message:
18-
prefix: 'ci(actions)'
20+
prefix: 'ci'
1921
rebase-strategy: 'auto'
2022
schedule:
2123
interval: 'daily'

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

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,47 @@
11
name: Dependabot Pull Request Approve and Merge
2-
on: pull_request_target
2+
on: pull_request #_target
33
permissions:
44
pull-requests: write
55
contents: write
66
jobs:
7+
pull-request-title-change:
8+
runs-on: ubuntu-latest
9+
steps:
10+
# Checkout the source code
11+
- name: 'Checkout source code'
12+
uses: actions/checkout@v4
13+
14+
- name: 'Fetch Dependabot metadata'
15+
id: dependabot-fetch
16+
uses: dependabot/fetch-metadata@v1
17+
18+
- name: 'Split title and update'
19+
id: split-title
20+
if: ${{ ! contains(github.event.pull_request.title, '):' ) && contains(github.event.pull_request.title, ':') && steps.dependabot-fetch.outcome == 'success' }}
21+
env:
22+
TITLE: ${{ github.event.pull_request.title }}
23+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24+
PR_URL: ${{github.event.pull_request.html_url}}
25+
run: |
26+
echo $TITLE
27+
title_pt2="${TITLE##*:}"
28+
title_pt1="${TITLE%%:*}"
29+
gh pr checkout "$PR_URL" # sets the upstream metadata for `gh pr status`
30+
packagename="${{ steps.dependabot-fetch.outputs.dependency-names }}"
31+
#echo "packagename is $packagename"
32+
#echo "$title_pt1"
33+
#echo "$title_pt2"
34+
parensOpen="("
35+
parensClose="):"
36+
pr_title=$title_pt1$parensOpen$packagename$parensClose$title_pt2
37+
echo "FINAL TITLE: $pr_title"
38+
gh pr edit "$PR_URL" --title "$pr_title"
39+
740
# Auto merge Dependabot PRs for:
841
# - patch updates on prod dependencies
942
# - minor updates on dev dependencies
1043
dependabot-auto-merge:
44+
needs: pull-request-title-change
1145
# Only run for Dependabot PRs
1246
if: ${{ github.actor == 'dependabot[bot]' }}
1347
runs-on: ubuntu-latest

release-please-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
{ "type": "docs", "section": "Documentation", "hidden": false },
3535
{ "type": "perf", "section": "Performance Improvements", "hidden": false },
3636
{ "type": "test", "section": "Tests", "hidden": false },
37+
{ "type": "deps", "section": "Dependencies", "hidden": false },
3738
{ "type": "build", "section": "Build System", "hidden": false },
3839
{ "type": "ci", "section": "Continuous Integration", "hidden": false }
3940
]

0 commit comments

Comments
 (0)