You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ma...@apache.org on 2023/01/17 18:16:52 UTC

[solr] branch branch_9_1 updated (3baad41dd02 -> eed54c5fdb5)

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

magibney pushed a change to branch branch_9_1
in repository https://gitbox.apache.org/repos/asf/solr.git


    from 3baad41dd02 Fix useGpg signing without password in releaseWizard (#1125)
     new 39bbb65ac1a releaseWizard: allow explicitly setting MANIFEST.MF userid (e.g., to apache id) (#1290)
     new eed54c5fdb5 buildAndPushRelease should optionally pause before assembleRelease (#1291)

The 2 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.


Summary of changes:
 dev-tools/scripts/buildAndPushRelease.py | 13 +++++++++++--
 dev-tools/scripts/releaseWizard.yaml     |  2 +-
 gradle/java/jar-manifest.gradle          |  4 +++-
 3 files changed, 15 insertions(+), 4 deletions(-)


[solr] 02/02: buildAndPushRelease should optionally pause before assembleRelease (#1291)

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

magibney pushed a commit to branch branch_9_1
in repository https://gitbox.apache.org/repos/asf/solr.git

commit eed54c5fdb59bd144b77da0aca2390e1726b4007
Author: Michael Gibney <mi...@michaelgibney.net>
AuthorDate: Tue Jan 17 13:10:08 2023 -0500

    buildAndPushRelease should optionally pause before assembleRelease (#1291)
    
    (cherry picked from commit 47e19fffae40a1e53f40d51a046c339add41efe9)
---
 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 b7b73768325..6c08df84b70 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:
+    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)
 


[solr] 01/02: releaseWizard: allow explicitly setting MANIFEST.MF userid (e.g., to apache id) (#1290)

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

magibney pushed a commit to branch branch_9_1
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 39bbb65ac1a5b0e8dd801596620ed802a1400b2a
Author: Michael Gibney <mi...@michaelgibney.net>
AuthorDate: Tue Jan 17 12:52:07 2023 -0500

    releaseWizard: allow explicitly setting MANIFEST.MF userid (e.g., to apache id) (#1290)
    
    (cherry picked from commit be7ac8911bf6667802cbbb4b0c8f1ccb3878aa09)
---
 dev-tools/scripts/buildAndPushRelease.py | 8 ++++++--
 dev-tools/scripts/releaseWizard.yaml     | 2 +-
 gradle/java/jar-manifest.gradle          | 4 +++-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/dev-tools/scripts/buildAndPushRelease.py b/dev-tools/scripts/buildAndPushRelease.py
index a7275490ce5..b7b73768325 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, gpg_key_id, gpg_password, gpg_home=None, sign_gradle=False):
+def prepare(root, version, mf_username, gpg_key_id, gpg_password, gpg_home=None, sign_gradle=False):
   print()
   print('Prepare release...')
   if os.path.exists(LOG):
@@ -120,6 +120,8 @@ def prepare(root, version, gpg_key_id, gpg_password, gpg_home=None, sign_gradle=
   print('  prepare-release')
   cmd = './gradlew --no-daemon assembleRelease' \
         ' -Dversion.release=%s' % version
+  if mf_username is not None:
+    cmd += ' -Dmanifest.username=%s' % mf_username
   if dev_mode:
     cmd += ' -Pvalidation.git.failOnModified=false'
   if gpg_key_id is None:
@@ -252,6 +254,8 @@ def parse_config():
                       help='Uses local KEYS file to validate presence of RM\'s gpg key')
   parser.add_argument('--push-local', metavar='PATH',
                       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('--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',
@@ -394,7 +398,7 @@ def main():
     c.key_password = None
 
   if c.prepare:
-    prepare(c.root, c.version, c.key_id, c.key_password, gpg_home=gpg_home, sign_gradle=c.sign_method_gradle)
+    prepare(c.root, c.version, c.mf_username, c.key_id, c.key_password, gpg_home=gpg_home, sign_gradle=c.sign_method_gradle)
   else:
     os.chdir(c.root)
 
diff --git a/dev-tools/scripts/releaseWizard.yaml b/dev-tools/scripts/releaseWizard.yaml
index 1a51eabe1c7..5a2e3a71e77 100644
--- a/dev-tools/scripts/releaseWizard.yaml
+++ b/dev-tools/scripts/releaseWizard.yaml
@@ -749,7 +749,7 @@ groups:
         cmd: git pull --ff-only
         tee: true
       - !Command
-        cmd: python3 -u dev-tools/scripts/buildAndPushRelease.py {{ local_keys }}  --logfile {{ logfile }}  --push-local "{{ dist_file_path }}"  --rc-num {{ rc_number }}  --sign {{ gpg.gpg_fingerprint | default("<gpg_fingerprint>", True) }} --gpg-pass-noprompt
+        cmd: python3 -u dev-tools/scripts/buildAndPushRelease.py {{ local_keys }}  --logfile {{ logfile }}  --push-local "{{ dist_file_path }}"  --rc-num {{ rc_number }} --manifest-username {{ gpg.apache_id }} --sign {{ gpg.gpg_fingerprint | default("<gpg_fingerprint>", True) }} --gpg-pass-noprompt
         comment: "Using gpg command for signing."
         logfile: build_rc.log
         tee: true
diff --git a/gradle/java/jar-manifest.gradle b/gradle/java/jar-manifest.gradle
index 14be4d2710f..25cae7ea523 100644
--- a/gradle/java/jar-manifest.gradle
+++ b/gradle/java/jar-manifest.gradle
@@ -44,7 +44,9 @@ subprojects {
                     if (snapshotBuild) {
                       return "${project.version} ${gitRev} [snapshot build, details omitted]"
                     } else {
-                      return "${project.version} ${gitRev} - ${System.properties['user.name']} - ${buildDate} ${buildTime}"
+                      def sysProps = System.properties
+                      def manifestUsername = sysProps.getOrDefault('manifest.username', sysProps['user.name'])
+                      return "${project.version} ${gitRev} - ${manifestUsername} - ${buildDate} ${buildTime}"
                     }
                 }