You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2024/11/18 21:43:15 UTC

(superset) branch eddsa-support created (now 104e0fe704)

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

rusackas pushed a change to branch eddsa-support
in repository https://gitbox.apache.org/repos/asf/superset.git


      at 104e0fe704 fix(release validation): scripts now support RSA and EDDSA keys.

This branch includes the following new commits:

     new 104e0fe704 fix(release validation): scripts now support RSA and EDDSA keys.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(superset) 01/01: fix(release validation): scripts now support RSA and EDDSA keys.

Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a commit to branch eddsa-support
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 104e0fe704d43adc447a37cfc0d8a8b40c94e6a1
Author: Evan Rusackas <ev...@rusackas.com>
AuthorDate: Mon Nov 18 14:43:02 2024 -0700

    fix(release validation): scripts now support RSA and EDDSA keys.
---
 RELEASING/verify_release.py | 38 +++++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/RELEASING/verify_release.py b/RELEASING/verify_release.py
index 546bb308d4..3502636100 100755
--- a/RELEASING/verify_release.py
+++ b/RELEASING/verify_release.py
@@ -65,35 +65,43 @@ def get_gpg_info(filename: str) -> tuple[Optional[str], Optional[str]]:
     output = result.stderr.decode()
 
     rsa_key = re.search(r"RSA key ([0-9A-F]+)", output)
+    eddsa_key = re.search(r"EDDSA key ([0-9A-F]+)", output)
     email = re.search(r'issuer "([^"]+)"', output)
 
     rsa_key_result = rsa_key.group(1) if rsa_key else None
+    eddsa_key_result = eddsa_key.group(1) if eddsa_key else None
     email_result = email.group(1) if email else None
 
-    # Debugging: print warnings if rsa_key or email is not found
-    if rsa_key_result is None:
-        print("Warning: No RSA key found in GPG verification output.")
-    if email_result is None:
+    key_result = rsa_key_result or eddsa_key_result
+
+    # Debugging:
+    if key_result:
+        print("RSA or EDDSA Key found")
+    else:
+        print("Warning: No RSA or EDDSA key found in GPG verification output.")
+    if email_result:
+        print("email found")
+    else:
         print("Warning: No email address found in GPG verification output.")
 
-    return rsa_key_result, email_result
+    return key_result, email_result
 
 
-def verify_rsa_key(rsa_key: str, email: Optional[str]) -> str:
-    """Fetch the KEYS file and verify if the RSA key and email match."""
+def verify_key(key: str, email: Optional[str]) -> str:
+    """Fetch the KEYS file and verify if the RSA/EDDSA key and email match."""
     url = "https://downloads.apache.org/superset/KEYS"
     response = requests.get(url)
     if response.status_code == 200:
-        if rsa_key not in response.text:
-            return "RSA key not found on KEYS page"
+        if key not in response.text:
+            return "RSA/EDDSA key not found on KEYS page"
 
         # Check if email is None or not in response.text
         if email and email in response.text:
-            return "RSA key and email verified against Apache KEYS file"
+            return "RSA/EDDSA key and email verified against Apache KEYS file"
         elif email:
-            return "RSA key verified, but Email not found on KEYS page"
+            return "RSA/EDDSA key verified, but Email not found on KEYS page"
         else:
-            return "RSA key verified, but Email not available for verification"
+            return "RSA/EDDSA key verified, but Email not available for verification"
     else:
         return "Failed to fetch KEYS file"
 
@@ -103,9 +111,9 @@ def verify_sha512_and_rsa(filename: str) -> None:
     sha_result = verify_sha512(filename)
     print(sha_result)
 
-    rsa_key, email = get_gpg_info(filename)
-    if rsa_key:
-        rsa_result = verify_rsa_key(rsa_key, email)
+    key, email = get_gpg_info(filename)
+    if key:
+        rsa_result = verify_key(key, email)
         print(rsa_result)
     else:
         print("GPG verification failed: RSA key or email not found")