From 51175295e3bc140b094b7ce2e5738fb6e1bdc564 Mon Sep 17 00:00:00 2001 From: Michael Gibney Date: Sat, 14 Jan 2023 17:52:32 -0500 Subject: [PATCH] buildAndPushRelease should have (non-default) pause before assembleRelease to avoid timeout on pinentry if RM steps away from the build machine --- dev-tools/scripts/buildAndPushRelease.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dev-tools/scripts/buildAndPushRelease.py b/dev-tools/scripts/buildAndPushRelease.py index b7b737683258..82264fea50f4 100755 --- a/dev-tools/scripts/buildAndPushRelease.py +++ b/dev-tools/scripts/buildAndPushRelease.py @@ -91,7 +91,7 @@ def getGitRev(): return os.popen('git rev-parse HEAD').read().strip() -def prepare(root, version, mf_username, gpg_key_id, gpg_password, gpg_home=None, sign_gradle=False): +def prepare(root, version, pause_before_sign, mf_username, gpg_key_id, gpg_password, gpg_home=None, sign_gradle=False): print() print('Prepare release...') if os.path.exists(LOG): @@ -117,6 +117,9 @@ def prepare(root, version, mf_username, gpg_key_id, gpg_password, gpg_home=None, else: print(' skipping precommit check due to dev-mode') + if pause_before_sign: + str(input("Tests complete! Please press ENTER to proceed to assembleRelease: ")) + print(' prepare-release') cmd = './gradlew --no-daemon assembleRelease' \ ' -Dversion.release=%s' % version @@ -256,6 +259,8 @@ def parse_config(): help='Push the release to the local path') parser.add_argument('--mf-username', metavar='ID', help='Use the specified username in the Implementation-Version for jar MANIFEST.MF files (e.g., Apache ID).') + parser.add_argument('--pause-before-sign', default=False, action='store_true', + help='Pause for user confirmation before the assembleRelease step (to prevent timeout on gpg pinentry') parser.add_argument('--sign', metavar='FINGERPRINT', help='Sign the release with the given gpg key. This must be the full GPG fingerprint, not just the last 8 characters.') parser.add_argument('--sign-method-gradle', dest='sign_method_gradle', default=False, action='store_true', @@ -398,7 +403,7 @@ def main(): c.key_password = None if c.prepare: - prepare(c.root, c.version, c.mf_username, c.key_id, c.key_password, gpg_home=gpg_home, sign_gradle=c.sign_method_gradle) + prepare(c.root, c.version, c.pause_before_sign, c.mf_username, c.key_id, c.key_password, gpg_home=gpg_home, sign_gradle=c.sign_method_gradle) else: os.chdir(c.root)