Skip to content

Commit 9835a2a

Browse files
committed
Add spring-merge-dependabot-pr.yml
1 parent 7d383a5 commit 9835a2a

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Edit & Merge Dependabot PR
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
developmentGroup:
7+
description: 'The Dependabot update group for development dependencies'
8+
default: 'development-dependencies'
9+
required: false
10+
type: string
11+
developmentLabel:
12+
description: 'The issue label for this development dependencies pull request'
13+
default: 'type: task'
14+
required: false
15+
type: string
16+
dependenciesLabel:
17+
description: 'The issue label for regular dependency upgrade pull request'
18+
default: 'type: dependency-upgrade'
19+
required: false
20+
type: string
21+
22+
env:
23+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24+
25+
jobs:
26+
merge-dependabot-pr:
27+
runs-on: ubuntu-latest
28+
if: github.actor == 'dependabot[bot]'
29+
steps:
30+
31+
- uses: actions/checkout@v4
32+
with:
33+
show-progress: false
34+
35+
- uses: actions/setup-java@v3
36+
with:
37+
distribution: temurin
38+
java-version: 17
39+
40+
- name: Dependabot metadata
41+
id: metadata
42+
uses: dependabot/fetch-metadata@v1
43+
with:
44+
github-token: ${{ env.GH_TOKEN }}
45+
46+
- name: Add a label for development dependencies pull request
47+
if: steps.metadata.outputs.dependency-group == ${{ inputs.developmentGroup }}
48+
run: |
49+
gh pr edit ${{ github.event.pull_request.number }} --add-label ${{ inputs.developmentLabel }}
50+
gh pr edit ${{ github.event.pull_request.number }} --remove-label ${{ inputs.dependenciesLabel }}
51+
52+
- name: Set Milestone to Dependabot pull request
53+
run: |
54+
if test -f pom.xml
55+
then
56+
CURRENT_VERSION=$(mvn help:evaluate -Dexpression="project.version" -q -DforceStdout)
57+
else
58+
CURRENT_VERSION=$(gradle properties --no-daemon --console=plain -q | grep "^version:" | awk '{printf $2}')
59+
fi
60+
export CANDIDATE_VERSION=${CURRENT_VERSION/-SNAPSHOT}
61+
MILESTONE=$(gh api repos/$GITHUB_REPOSITORY/milestones --jq 'map(select(.due_on != null and (.title | startswith(env.CANDIDATE_VERSION)))) | .[0] | .title')
62+
63+
gh pr edit ${{ github.event.pull_request.number }} --milestone $MILESTONE
64+
65+
- name: Merge Dependabot pull request
66+
run: gh pr merge ${{ github.event.pull_request.number }} --auto --squash --rebase

samples/merge-dependabot-pr.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Merge Dependabot PR
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
run-name: Merge Dependabot PR ${{ github.ref_name }}
9+
10+
jobs:
11+
merge-dependabot-pr:
12+
permissions:
13+
actions: write
14+
contents: write
15+
issues: write
16+
17+
uses: artembilan/spring-github-workflows/.github/workflows/spring-merge-dependabot-pr.yml@main

0 commit comments

Comments
 (0)