Skip to content

Commit c5eddf4

Browse files
authored
Merge pull request #14556 from woocommerce/automerge_patch_dependencies
Auto-merge `PATCH` Dependabot updates
2 parents 8bedab3 + 229647f commit c5eddf4

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Auto-merge Dependabot PATCH updates
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened]
6+
7+
permissions:
8+
contents: write
9+
pull-requests: write
10+
11+
jobs:
12+
auto-merge:
13+
runs-on: ubuntu-latest
14+
if: github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'woocommerce/woocommerce-android'
15+
env:
16+
PR_URL: ${{ github.event.pull_request.html_url }}
17+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18+
steps:
19+
- uses: actions/checkout@v5
20+
21+
- name: Fetch Dependabot metadata
22+
id: metadata
23+
uses: dependabot/fetch-metadata@v2
24+
with:
25+
github-token: "${{ secrets.GITHUB_TOKEN }}"
26+
27+
- name: Assign closest open milestone to PR
28+
if: steps.metadata.outputs.update-type == 'version-update:semver-patch'
29+
run: |
30+
set -e
31+
number=$(gh api repos/$GITHUB_REPOSITORY/milestones \
32+
--jq '[.[]
33+
| select(.state=="open" and .due_on!=null and (.due_on | fromdateiso8601) >= now)
34+
]
35+
| sort_by(.due_on)
36+
| .[0].number')
37+
38+
if [ -n "$number" ]; then
39+
echo "Assigning milestone #$number to PR #${{ github.event.pull_request.number }}"
40+
gh pr edit "${{ github.event.pull_request.number }}" --milestone "$number"
41+
else
42+
echo "No future open milestones found."
43+
fi
44+
45+
- name: Approve the PR
46+
if: steps.metadata.outputs.update-type == 'version-update:semver-patch'
47+
run: |
48+
set -e
49+
gh pr review --approve "$PR_URL"
50+
51+
- name: Enable auto-merge for Dependabot PRs
52+
if: steps.metadata.outputs.update-type == 'version-update:semver-patch'
53+
run: |
54+
set -e
55+
gh pr merge --auto --merge "$PR_URL"

0 commit comments

Comments
 (0)