@@ -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
1316runs :
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 }
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