File tree

2 files changed

+57
-2
lines changed

2 files changed

+57
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
on:
2+
pull_request:
3+
name: auto-merge-readme
4+
jobs:
5+
approve:
6+
runs-on: ubuntu-latest
7+
if: .repository_owner == 'googleapis' && .head_ref == 'autosynth-readme'
8+
steps:
9+
- uses: actions/[email protected]
10+
with:
11+
-token: ${{secrets.YOSHI_APPROVER_TOKEN}}
12+
script: |
13+
// only approve PRs from yoshi-automation
14+
if (context.payload.pull_request.user.login !== "yoshi-automation") {
15+
return;
16+
}
17+
18+
// only approve PRs like "chore: release <release version>"
19+
if (!context.payload.pull_request.title === "chore: regenerate README") {
20+
return;
21+
}
22+
23+
// only approve PRs with README.md and synth.metadata changes
24+
const files = new Set(
25+
(
26+
await .paginate(
27+
.pulls.listFiles.endpoint({
28+
owner: context.repo.owner,
29+
repo: context.repo.repo,
30+
pull_number: context.payload.pull_request.number,
31+
})
32+
)
33+
).map(file => file.filename)
34+
);
35+
if (files.size != 2 || !files.has("README.md") || !files.has("./readme/synth.metadata/synth.metadata")) {
36+
return;
37+
}
38+
39+
// approve README regeneration PR
40+
await .pulls.createReview({
41+
owner: context.repo.owner,
42+
repo: context.repo.repo,
43+
body: 'Rubber stamped PR!',
44+
pull_number: context.payload.pull_request.number,
45+
event: 'APPROVE'
46+
});
47+
48+
// attach automerge label
49+
await .issues.addLabels({
50+
owner: context.repo.owner,
51+
repo: context.repo.repo,
52+
issue_number: context.payload.pull_request.number,
53+
labels: ['automerge']
54+
});
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
"git": {
55
"name": ".",
66
"remote": "https://.com/googleapis/java-shared-config.git",
7-
"sha": "a0120d20589240e095499598ad277b2683f86ba9"
7+
"sha": "ca37617b2c3d580f30d67c6ef0068614505263b0"
88
}
99
},
1010
{
1111
"git": {
1212
"name": "synthtool",
1313
"remote": "https://.com/googleapis/synthtool.git",
14-
"sha": "27e0e916cbfdb3d5ff6639b686cc04f78a0b0386"
14+
"sha": "7c5370937dd9ba9dcf9cd7d2af880a58b389b4f1"
1515
}
1616
}
1717
],
@@ -23,6 +23,7 @@
2323
"./PULL_REQUEST_TEMPLATE.md",
2424
"./readme/synth.py",
2525
"./trusted-contribution.yml",
26+
"./workflows/approve-readme.yaml",
2627
"./workflows/auto-release.yaml",
2728
"./workflows/ci.yaml",
2829
"./workflows/formatting.yaml",

0 commit comments

Comments
 (0)