MCPcopy Create free account
hub / github.com/apache/burr / cmd_all

Function cmd_all

scripts/apache_release.py:910–965  ·  view source on GitHub ↗

Handle 'all' subcommand - run complete workflow.

(args)

Source from the content-addressed store, hash-verified

908
909
910def cmd_all(args) -> bool:
911 """Handle 'all' subcommand - run complete workflow."""
912 _print_section(f"Apache Burr Release Process - v{args.version}-RC{args.rc_num}")
913
914 if args.dry_run:
915 print("*** DRY RUN MODE ***\n")
916 skip_signing = getattr(args, "skip_signing", False)
917 if skip_signing:
918 print("*** SKIP SIGNING MODE ***\n")
919
920 _verify_project_root()
921 _validate_version(args.version)
922 _check_git_working_tree()
923
924 # Step 1: Git Archive
925 _print_step(1, 4, "Creating git archive")
926 _create_git_archive(args.version, args.rc_num, args.output_dir, skip_signing=skip_signing)
927
928 # Step 2: Build sdist
929 _print_step(2, 4, "Building sdist")
930 sdist_path = _build_sdist_from_git(args.version, args.output_dir)
931 _sign_artifact(sdist_path, skip_signing=skip_signing)
932 if not _verify_artifact_complete(sdist_path, skip_signing=skip_signing):
933 _fail("sdist verification failed!")
934
935 # Step 3: Build wheel
936 _print_step(3, 4, "Building wheel")
937 wheel_path = _build_wheel_from_current_dir(args.version, args.output_dir)
938 if not _verify_wheel_with_twine(wheel_path):
939 _fail("Twine verification failed!")
940 _sign_artifact(wheel_path, skip_signing=skip_signing)
941 if not _verify_wheel(wheel_path) or not _verify_artifact_complete(
942 wheel_path, skip_signing=skip_signing
943 ):
944 _fail("Wheel verification failed!")
945
946 # Step 4: Upload (if not disabled)
947 if not args.no_upload:
948 _print_step(4, 4, "Uploading to Apache SVN")
949 all_artifacts = _collect_all_artifacts(args.version, args.output_dir)
950 svn_url = _upload_to_svn(
951 args.version, args.rc_num, args.apache_id, all_artifacts, dry_run=args.dry_run
952 )
953 if not svn_url:
954 _fail("SVN upload failed!")
955 else:
956 svn_url = f"https://dist.apache.org/repos/dist/dev/incubator/{PROJECT_SHORT_NAME}/{args.version}-incubating-RC{args.rc_num}"
957 if args.dry_run:
958 print(f"\n[DRY RUN] Would upload to: {svn_url}")
959
960 # Generate email template
961 _print_section("Release Complete!")
962 email_content = _generate_vote_email(args.version, args.rc_num, svn_url)
963 print(email_content)
964
965 return True
966
967

Callers 1

mainFunction · 0.70

Calls 15

_verify_project_rootFunction · 0.85
_validate_versionFunction · 0.85
_check_git_working_treeFunction · 0.85
_print_stepFunction · 0.85
_create_git_archiveFunction · 0.85
_build_sdist_from_gitFunction · 0.85
_sign_artifactFunction · 0.85
_verify_wheel_with_twineFunction · 0.85
_verify_wheelFunction · 0.85
_collect_all_artifactsFunction · 0.85

Tested by

no test coverage detected