2929cache = cachetools .LRUCache (maxsize = 500 )
3030sentry_sdk .init (os .environ .get ("SENTRY_DSN" ), integrations = [CeleryIntegration ()])
3131
32-
3332CHERRY_PICKER_CONFIG = {
3433 "team" : "python" ,
3534 "repo" : "cpython" ,
@@ -125,7 +124,7 @@ async def backport_task_asyncio(
125124 )
126125 try :
127126 cp .backport ()
128- except cherry_picker .BranchCheckoutException :
127+ except cherry_picker .BranchCheckoutException as bce :
129128 await util .comment_on_pr (
130129 gh ,
131130 issue_number ,
@@ -139,6 +138,8 @@ async def backport_task_asyncio(
139138 """ ,
140139 )
141140 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 )
142143 cp .abort_cherry_pick ()
143144 except cherry_picker .CherryPickException as cpe :
144145 await util .comment_on_pr (
@@ -153,9 +154,25 @@ async def backport_task_asyncio(
153154 """ ,
154155 )
155156 await util .assign_pr_to_core_dev (gh , issue_number , merged_by )
156- cpe_exc = cpe
157157 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 )
159176 cp .abort_cherry_pick ()
160177
161178
0 commit comments