From 7121fd8fa7de50ff67157f81f9e0f267b9795dbb Mon Sep 17 00:00:00 2001 From: kdmukai Date: Tue, 13 Dec 2022 08:51:50 -0600 Subject: test: self-sign previous release binaries for arm64 macOS --- test/get_previous_releases.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'test') diff --git a/test/get_previous_releases.py b/test/get_previous_releases.py index ca06d7b8f8..e91c20da77 100755 --- a/test/get_previous_releases.py +++ b/test/get_previous_releases.py @@ -152,6 +152,34 @@ def download_binary(tag, args) -> int: return ret Path(tarball).unlink() + + if tag >= "v23" and platform == "arm64-apple-darwin": + # Starting with v23 there are arm64 binaries for ARM (e.g. M1, M2) macs, but they have to be signed to run + binary_path = f'{os.getcwd()}/{tag}/bin/' + + for arm_binary in os.listdir(binary_path): + # Is it already signed? + ret = subprocess.run( + ['codesign', '-v', binary_path + arm_binary], + stderr=subprocess.DEVNULL, # Suppress expected stderr output + ).returncode + if ret == 1: + # Have to self-sign the binary + ret = subprocess.run( + ['codesign', '-s', '-', binary_path + arm_binary] + ).returncode + if ret != 0: + print(f"Failed to self-sign {tag} {arm_binary} arm64 binary") + return 1 + + # Confirm success + ret = subprocess.run( + ['codesign', '-v', binary_path + arm_binary] + ).returncode + if ret != 0: + print(f"Failed to verify the self-signed {tag} {arm_binary} arm64 binary") + return 1 + return 0 -- cgit v1.2.3 From dc12f2e212dfacbe238cf68eb454b9ec71169bbc Mon Sep 17 00:00:00 2001 From: kdmukai Date: Mon, 19 Dec 2022 11:25:33 -0600 Subject: test: improve error msg on previous release tarball extraction failure --- test/get_previous_releases.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/get_previous_releases.py b/test/get_previous_releases.py index e91c20da77..a997f9fcf2 100755 --- a/test/get_previous_releases.py +++ b/test/get_previous_releases.py @@ -148,7 +148,8 @@ def download_binary(tag, args) -> int: ret = subprocess.run(['tar', '-zxf', tarball, '-C', tag, '--strip-components=1', 'bitcoin-{tag}'.format(tag=tag[1:])]).returncode - if ret: + if ret != 0: + print(f"Failed to extract the {tag} tarball") return ret Path(tarball).unlink() -- cgit v1.2.3