Skip to content

Commit a436d19

Browse files
committed
スケジュール実行も考慮する
1 parent c9781ea commit a436d19

1 file changed

Lines changed: 45 additions & 20 deletions

File tree

action.yml

Lines changed: 45 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ inputs:
1010
pr-title-prefix:
1111
description: 'Prefix of PR title'
1212
required: true
13+
repo_name:
14+
description: 'Repository name'
15+
required: true
1316
runs:
1417
using: "composite"
1518
steps:
@@ -20,16 +23,11 @@ runs:
2023
run: |
2124
result=$(git diff)
2225
echo "::set-output name=result::$result"
23-
- shell: bash
24-
if: github.event_name == 'pull_request' || github.event_name == 'schedule'
25-
run: |
26-
REPO_NAME="${{ github.event.pull_request.head.repo.full_name }}"
27-
echo "REPO_NAME=${REPO_NAME}" >> "${GITHUB_ENV}"
2826
# 差分があったときは、コミットを作りpushする
2927
- name: Push
3028
env:
3129
HEAD_REF: ${{github.event.pull_request.head.ref}}
32-
if: env.REPO_NAME == github.repository
30+
if: inputs.repo_name == github.repository
3331
&& steps.diff.outputs.result != ''
3432
&& (github.event_name == 'pull_request' || github.event_name == 'schedule')
3533
run: |
@@ -41,12 +39,17 @@ runs:
4139
REPO_URL="https://"
4240
REPO_URL+="${{github.actor}}:${{inputs.github-token}}@github.com/"
4341
REPO_URL+="${{github.repository}}.git"
44-
GITHUB_HEAD="HEAD:refs/heads/${{inputs.branch-name-prefix}}-${HEAD_REF}"
42+
GITHUB_HEAD="HEAD:refs/heads/${{inputs.branch-name-prefix}}"
43+
44+
if [ "${HEAD_REF}" != "" ]; then
45+
GITHUB_HEAD+="-${HEAD_REF}"
46+
fi
47+
4548
git push -f "${REPO_URL}" "${GITHUB_HEAD}"
4649
shell: bash
4750
- name: Set org name
4851
uses: actions/github-script@v6.1.0
49-
if: env.REPO_NAME == github.repository && (github.event_name == 'pull_request' || github.event_name == 'schedule')
52+
if: inputs.repo_name == github.repository && (github.event_name == 'pull_request' || github.event_name == 'schedule')
5053
id: set_org_name
5154
with:
5255
github-token: ${{inputs.github-token}}
@@ -56,18 +59,24 @@ runs:
5659
uses: actions/github-script@v6.1.0
5760
env:
5861
HEAD_REF: ${{github.event.pull_request.head.ref}}
59-
if: env.REPO_NAME == github.repository
62+
if: inputs.repo_name == github.repository
6063
&& steps.diff.outputs.result != ''
6164
&& (github.event_name == 'pull_request' || github.event_name == 'schedule')
6265
id: get_pull_requests
6366
with:
6467
github-token: ${{inputs.github-token}}
6568
script: |
6669
const HEAD_REF = process.env["HEAD_REF"]
70+
let head = "${{steps.set_org_name.outputs.result}}:${{inputs.branch-name-prefix}}"
71+
72+
if (HEAD_REF != "") {
73+
head += "-${HEAD_REF}"
74+
}
75+
6776
const pulls_list_params = {
6877
owner: context.repo.owner,
6978
repo: context.repo.repo,
70-
head: "${{steps.set_org_name.outputs.result}}:${{inputs.branch-name-prefix}}-" + HEAD_REF,
79+
head,
7180
base: HEAD_REF,
7281
state: "open"
7382
}
@@ -80,7 +89,7 @@ runs:
8089
uses: actions/github-script@v6.1.0
8190
env:
8291
HEAD_REF: ${{github.event.pull_request.head.ref}}
83-
if: env.REPO_NAME == github.repository
92+
if: inputs.repo_name == github.repository
8493
&& steps.diff.outputs.result != ''
8594
&& steps.get_pull_requests.outputs.result == 0
8695
&& (github.event_name == 'pull_request' || github.event_name == 'schedule')
@@ -89,16 +98,27 @@ runs:
8998
github-token: ${{inputs.github-token}}
9099
script: |
91100
const HEAD_REF = process.env["HEAD_REF"]
92-
const number = "#${{github.event.pull_request.number}}"
93-
let title = "${{inputs.pr-title-prefix}}PRをマージしてね! "
94-
title += number
101+
let title = "${{inputs.pr-title-prefix}}PRをマージしてね!"
102+
let body = "鳩の唐揚げおいしい!😋😋😋"
103+
104+
if ("${{github.event.pull_request.number}}" != "") {
105+
body += " #${{github.event.pull_request.number}}"
106+
title += " #${{github.event.pull_request.number}}"
107+
}
108+
109+
let head = "${{steps.set_org_name.outputs.result}}:${{inputs.branch-name-prefix}}"
110+
111+
if (HEAD_REF != "") {
112+
head += "-${HEAD_REF}"
113+
}
114+
95115
const pulls_create_params = {
96116
owner: context.repo.owner,
97117
repo: context.repo.repo,
98-
head: "${{steps.set_org_name.outputs.result}}:${{inputs.branch-name-prefix}}-" + HEAD_REF,
118+
head,
99119
base: HEAD_REF,
100120
title,
101-
body: "鳩の唐揚げおいしい!😋😋😋 " + number
121+
body
102122
}
103123
console.log("call pulls.create:", pulls_create_params)
104124
const create_pull_res = await github.rest.pulls.create(
@@ -107,12 +127,12 @@ runs:
107127
return create_pull_res.data.number
108128
- name: Assign a user
109129
uses: actions/github-script@v6.1.0
110-
if: env.REPO_NAME == github.repository
130+
if: inputs.repo_name == github.repository
111131
&& steps.diff.outputs.result != ''
112132
&& steps.get_pull_requests.outputs.result == 0
133+
&& github.event_name == 'pull_request'
113134
&& github.event.pull_request.user.login != 'dependabot[bot]'
114135
&& github.event.pull_request.user.login != 'renovate[bot]'
115-
&& github.event_name == 'pull_request'
116136
with:
117137
github-token: ${{inputs.github-token}}
118138
script: |
@@ -130,14 +150,19 @@ runs:
130150
uses: actions/github-script@v6.1.0
131151
env:
132152
HEAD_REF: ${{github.event.pull_request.head.ref}}
133-
if: env.REPO_NAME == github.repository
153+
if: inputs.repo_name == github.repository
134154
&& steps.diff.outputs.result == ''
135155
&& (github.event_name == 'pull_request' || github.event_name == 'schedule')
136156
with:
137157
github-token: ${{inputs.github-token}}
138158
script: |
139159
const HEAD_REF = process.env["HEAD_REF"]
140-
const head_name = "${{inputs.branch-name-prefix}}-" + HEAD_REF
160+
let head_name = "${{inputs.branch-name-prefix}}"
161+
162+
if (HEAD_REF != "") {
163+
head_name += "-${HEAD_REF}"
164+
}
165+
141166
const common_params = {
142167
owner: context.repo.owner,
143168
repo: context.repo.repo

0 commit comments

Comments
 (0)