29
29
cache = cachetools .LRUCache (maxsize = 500 )
30
30
sentry_sdk .init (os .environ .get ("SENTRY_DSN" ), integrations = [CeleryIntegration ()])
31
31
32
-
33
32
CHERRY_PICKER_CONFIG = {
34
33
"team" : "python" ,
35
34
"repo" : "cpython" ,
@@ -125,7 +124,7 @@ async def backport_task_asyncio(
125
124
)
126
125
try :
127
126
cp .backport ()
128
- except cherry_picker .BranchCheckoutException :
127
+ except cherry_picker .BranchCheckoutException as bce :
129
128
await util .comment_on_pr (
130
129
gh ,
131
130
issue_number ,
@@ -139,6 +138,8 @@ async def backport_task_asyncio(
139
138
""" ,
140
139
)
141
140
await util .assign_pr_to_core_dev (gh , issue_number , merged_by )
141
+ bce_state = cp .get_state_and_verify ()
142
+ print (bce_state , bce )
142
143
cp .abort_cherry_pick ()
143
144
except cherry_picker .CherryPickException as cpe :
144
145
await util .comment_on_pr (
@@ -153,9 +154,25 @@ async def backport_task_asyncio(
153
154
""" ,
154
155
)
155
156
await util .assign_pr_to_core_dev (gh , issue_number , merged_by )
156
- cpe_exc = cpe
157
157
cpe_state = cp .get_state_and_verify ()
158
- print (cpe_state )
158
+ print (cpe_state , cpe )
159
+ cp .abort_cherry_pick ()
160
+ except cherry_picker .GitHubException as ghe :
161
+ await util .comment_on_pr (
162
+ gh ,
163
+ issue_number ,
164
+ f"""\
165
+ Sorry { util .get_participants (created_by , merged_by )} , I had trouble completing the backport.
166
+ Please retry by removing and re-adding the "needs backport to { branch } " label.
167
+ Please backport backport using [cherry_picker](https://pypi.org/project/cherry-picker/) on the command line.
168
+ ```
169
+ cherry_picker { commit_hash } { branch }
170
+ ```
171
+ """ ,
172
+ )
173
+ await util .assign_pr_to_core_dev (gh , issue_number , merged_by )
174
+ ghe_state = cp .get_state_and_verify ()
175
+ print (ghe_state , ghe )
159
176
cp .abort_cherry_pick ()
160
177
161
178
0 commit comments