This is an automated email from the ASF dual-hosted git repository.

ebenizzy pushed a commit to branch burr-0.42.0
in repository https://gitbox.apache.org/repos/asf/burr.git

commit dd01b30e226980e6aa4ba9517d790912d76a0533
Author: Elijah ben Izzy <[email protected]>
AuthorDate: Sun Feb 1 21:11:57 2026 -0800

    Improve twine validation error messages
    
    Show actual twine output when wheel metadata validation fails. This
    helps release managers quickly diagnose and fix packaging issues
    without needing to manually re-run twine.
---
 scripts/apache_release.py | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/scripts/apache_release.py b/scripts/apache_release.py
index 3df879dc..a33a7ab7 100644
--- a/scripts/apache_release.py
+++ b/scripts/apache_release.py
@@ -622,15 +622,24 @@ def _verify_wheel_with_twine(wheel_path: str) -> bool:
     """Verify wheel metadata and package validity using twine."""
     print(f"  Verifying wheel with twine: {os.path.basename(wheel_path)}")
 
-    _run_command(
-        ["twine", "check", wheel_path],
-        description="",
-        error_message="Twine metadata validation failed",
-        success_message="Twine check passed",
-    )
-
-    print("    āœ“ Wheel metadata is valid")
-    return True
+    try:
+        subprocess.run(
+            ["twine", "check", wheel_path],
+            check=True,
+            capture_output=True,
+            text=True,
+        )
+        print("    āœ“ Twine check passed")
+        print("    āœ“ Wheel metadata is valid")
+        return True
+    except subprocess.CalledProcessError as e:
+        print("\nāŒ Twine metadata validation failed\n")
+        print("Twine output:")
+        if e.stdout:
+            print(e.stdout)
+        if e.stderr:
+            print(e.stderr)
+        _fail("Wheel failed twine validation - see output above for details")
 
 
 # ============================================================================

Reply via email to