|
24 | 24 | } |
25 | 25 | FORK_BLOCKED_COMMANDS = {"build", "build-and-upload", "release"} |
26 | 26 | MAX_COMMENT_LENGTH = 1024 |
27 | | -DISPATCH_WORKFLOW = "manual-build-upload.yaml" |
28 | 27 | RUN_LOOKUP_ATTEMPTS = 10 |
29 | 28 | RUN_LOOKUP_SLEEP_SECONDS = 2 |
30 | 29 | RUN_LOOKUP_PAGE_SIZE = 100 |
@@ -222,7 +221,7 @@ def resolve_dispatch_run_urls( |
222 | 221 | return |
223 | 222 |
|
224 | 223 | if workflows is None: |
225 | | - workflows = [DISPATCH_WORKFLOW] |
| 224 | + workflows = RELEASE_WORKFLOWS |
226 | 225 |
|
227 | 226 | for attempt in range(RUN_LOOKUP_ATTEMPTS): |
228 | 227 | for workflow in workflows: |
@@ -295,7 +294,7 @@ def comment_base_lines( |
295 | 294 | ] |
296 | 295 | if pr_head_sha: |
297 | 296 | lines.append(f"PR head SHA: `{pr_head_sha}`") |
298 | | - lines.append(f"Workflow: `{DISPATCH_WORKFLOW}`") |
| 297 | + lines.append(f"Workflows: `{', '.join(RELEASE_WORKFLOWS)}`") |
299 | 298 | return lines |
300 | 299 |
|
301 | 300 |
|
@@ -543,27 +542,22 @@ def main(): |
543 | 542 | ) |
544 | 543 | return 0 |
545 | 544 |
|
546 | | - dispatch_url = f"{api_base}/actions/workflows/{DISPATCH_WORKFLOW}/dispatches" |
547 | 545 | if command == "build": |
548 | 546 | target_branch = requested_branch or f"pr-{issue_number}" |
549 | 547 | dispatch_pr_number = str(issue_number) |
550 | | - upload_flag = "false" |
551 | | - allow_main_dispatch = "false" |
| 548 | + dispatch_upload = False |
552 | 549 | elif command == "build-and-upload": |
553 | 550 | target_branch = requested_branch or f"pr-{issue_number}" |
554 | 551 | dispatch_pr_number = str(issue_number) |
555 | | - upload_flag = "true" |
556 | | - allow_main_dispatch = "false" |
| 552 | + dispatch_upload = True |
557 | 553 | elif command == "release": |
558 | | - target_branch = requested_branch or default_branch |
| 554 | + target_branch = requested_branch or "" |
559 | 555 | dispatch_pr_number = "" |
560 | | - upload_flag = "true" |
561 | | - allow_main_dispatch = "true" |
562 | | - else: |
| 556 | + dispatch_upload = True |
| 557 | + else: # merge-and-upload |
563 | 558 | target_branch = requested_branch or "main" |
564 | 559 | dispatch_pr_number = "" |
565 | | - upload_flag = "true" |
566 | | - allow_main_dispatch = "true" |
| 560 | + dispatch_upload = True |
567 | 561 |
|
568 | 562 | mode_text = { |
569 | 563 | "build": "build only", |
@@ -658,55 +652,31 @@ def main(): |
658 | 652 | dispatches = [] |
659 | 653 | failed = [] |
660 | 654 |
|
661 | | - if command == "release": |
662 | | - for kernel_name in kernels: |
663 | | - release_result = do_dispatch_release( |
664 | | - kernel_name, |
665 | | - token=token, |
666 | | - repo=repository, |
667 | | - ref=default_branch, |
668 | | - dispatch_key_prefix=f"pr{issue_number}-", |
| 655 | + for kernel_name in kernels: |
| 656 | + release_result = do_dispatch_release( |
| 657 | + kernel_name, |
| 658 | + token=token, |
| 659 | + repo=repository, |
| 660 | + ref=default_branch, |
| 661 | + dispatch_key_prefix=f"pr{issue_number}-", |
| 662 | + pr_number=dispatch_pr_number, |
| 663 | + target_branch=target_branch, |
| 664 | + upload=dispatch_upload, |
| 665 | + ) |
| 666 | + for wf, dk in release_result.dispatched: |
| 667 | + dispatches.append( |
| 668 | + DispatchResult(kernel_name=f"{kernel_name} ({wf})", dispatch_key=dk) |
669 | 669 | ) |
670 | | - for wf, dk in release_result.dispatched: |
671 | | - dispatches.append( |
672 | | - DispatchResult(kernel_name=f"{kernel_name} ({wf})", dispatch_key=dk) |
673 | | - ) |
674 | | - for wf, code in release_result.failed: |
675 | | - failed.append((f"{kernel_name} ({wf})", code)) |
676 | | - else: |
677 | | - for kernel_name in kernels: |
678 | | - dispatch_key = make_dispatch_key(issue_number, kernel_name) |
679 | | - dispatch_body = { |
680 | | - "ref": default_branch, |
681 | | - "inputs": { |
682 | | - "kernel_name": kernel_name, |
683 | | - "pr_number": dispatch_pr_number, |
684 | | - "target_branch": target_branch, |
685 | | - "upload": upload_flag, |
686 | | - "allow_main_dispatch": allow_main_dispatch, |
687 | | - "dispatch_key": dispatch_key, |
688 | | - }, |
689 | | - } |
690 | | - try: |
691 | | - print( |
692 | | - f"Dispatching workflow for command `{command}`, kernel `{kernel_name}`, branch `{target_branch}`" |
693 | | - ) |
694 | | - github_api_request(dispatch_url, token, method="POST", data=dispatch_body) |
695 | | - dispatches.append( |
696 | | - DispatchResult(kernel_name=kernel_name, dispatch_key=dispatch_key) |
697 | | - ) |
698 | | - except urllib.error.HTTPError as e: |
699 | | - err_text = e.read().decode("utf-8", errors="replace") |
700 | | - print(err_text, file=sys.stderr) |
701 | | - failed.append((kernel_name, e.code)) |
| 670 | + for wf, code in release_result.failed: |
| 671 | + failed.append((f"{kernel_name} ({wf})", code)) |
702 | 672 |
|
703 | 673 | resolve_dispatch_run_urls( |
704 | 674 | api_base, |
705 | 675 | token, |
706 | 676 | repository, |
707 | 677 | default_branch, |
708 | 678 | dispatches, |
709 | | - workflows=RELEASE_WORKFLOWS if command == "release" else None, |
| 679 | + workflows=RELEASE_WORKFLOWS, |
710 | 680 | ) |
711 | 681 |
|
712 | 682 | comment_written = try_send_issue_comment( |
|
0 commit comments