You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/12/03 19:41:04 UTC

[hbase] branch HBASE-25354 created (now 882f84e)

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

stack pushed a change to branch HBASE-25354
in repository https://gitbox.apache.org/repos/asf/hbase.git.


      at 882f84e  HBASE-25354 Update create-release scripts; rotted

This branch includes the following new commits:

     new 178f668  Release script changes
     new 882f84e  HBASE-25354 Update create-release scripts; rotted

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.



[hbase] 02/02: HBASE-25354 Update create-release scripts; rotted

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

stack pushed a commit to branch HBASE-25354
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 882f84ecea9a032e5314db720caf0bd3900a9976
Author: stack <st...@apache.org>
AuthorDate: Wed Dec 2 14:20:05 2020 -0800

    HBASE-25354 Update create-release scripts; rotted
    
    dev-support/create-release/do-release.sh
     move gpg check to non-docker context. Also cleanup tmp files when done.
    
    dev-support/create-release/hbase-rm/Dockerfile
    dev-support/create-release/mac-sshd-gpg-agent/Dockerfile
     Hack to update packages... the old ones  no longer available.
---
 dev-support/create-release/do-release-docker.sh    |  2 +-
 dev-support/create-release/do-release.sh           | 22 ++++++++++++----------
 dev-support/create-release/hbase-rm/Dockerfile     |  2 +-
 .../create-release/mac-sshd-gpg-agent/Dockerfile   |  2 +-
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/dev-support/create-release/do-release-docker.sh b/dev-support/create-release/do-release-docker.sh
index e863cb3..b48581f 100755
--- a/dev-support/create-release/do-release-docker.sh
+++ b/dev-support/create-release/do-release-docker.sh
@@ -302,7 +302,7 @@ if [ "${HOST_OS}" == "DARWIN" ]; then
       > "${WORKDIR}/gpg-agent-proxy.known_hosts"
   if [ -s "${WORKDIR}/gpg-agent-proxy.known_hosts" ]; then
     echo "Your ssh known_hosts does not include the entries for the gpg-agent proxy container."
-    echo "The following entry(ies) arre missing:"
+    echo "The following entry(ies) are missing:"
     sed -e 's/^/    /' "${WORKDIR}/gpg-agent-proxy.known_hosts"
     read -r -p "Okay to add these entries to ${HOME}/.ssh/known_hosts? [y/n] " ANSWER
     if [ "$ANSWER" != "y" ]; then
diff --git a/dev-support/create-release/do-release.sh b/dev-support/create-release/do-release.sh
index 4f332ce..5566b36 100755
--- a/dev-support/create-release/do-release.sh
+++ b/dev-support/create-release/do-release.sh
@@ -88,20 +88,22 @@ if [ "$RUNNING_IN_DOCKER" = "1" ]; then
 else
   # Outside docker, need to ask for information about the release.
   get_release_info
+
+  # Run this stuff when not in docker to check gpg.
+  gpg_test_file="${TMPDIR}/gpg_test.$$.txt"
+  echo "Testing gpg signing ${GPG} ${GPG_ARGS[@]} --detach --armor --sign ${gpg_test_file}"
+  echo "foo" > "${gpg_test_file}"
+  if ! "${GPG}" "${GPG_ARGS[@]}" --detach --armor --sign "${gpg_test_file}" ; then
+    gpg_agent_help
+  fi
+  # In --batch mode we have to be explicit about what we are verifying
+  if ! "${GPG}" "${GPG_ARGS[@]}" --verify "${gpg_test_file}.asc" "${gpg_test_file}" ; then
+    gpg_agent_help
+  fi
 fi
 
 GPG_TTY="$(tty)"
 export GPG_TTY
-gpg_test_file="${TMPDIR}/gpg_test.$$.txt"
-echo "Testing gpg signing ${GPG} ${GPG_ARGS[@]} --detach --armor --sign ${gpg_test_file}"
-echo "foo" > "${gpg_test_file}"
-if ! "${GPG}" "${GPG_ARGS[@]}" --detach --armor --sign "${gpg_test_file}" ; then
-  gpg_agent_help
-fi
-# In --batch mode we have to be explicit about what we are verifying
-if ! "${GPG}" "${GPG_ARGS[@]}" --verify "${gpg_test_file}.asc" "${gpg_test_file}" ; then
-  gpg_agent_help
-fi
 
 if [[ -z "$RELEASE_STEP" ]]; then
   # If doing all stages, leave out 'publish-snapshot'
diff --git a/dev-support/create-release/hbase-rm/Dockerfile b/dev-support/create-release/hbase-rm/Dockerfile
index 2c29974..d806102 100644
--- a/dev-support/create-release/hbase-rm/Dockerfile
+++ b/dev-support/create-release/hbase-rm/Dockerfile
@@ -34,7 +34,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -qq -y update \
     libxml2-dev='2.9.4+dfsg1-*' \
     lsof='4.89+dfsg-*' \
     maven='3.6.0-*' \
-    openjdk-8-jdk='8u252-b09-*' \
+    openjdk-8-jdk='8u275-b01-*' \
     python-pip='9.0.1-*' \
     subversion='1.9.7-*' \
     wget='1.19.4-*' \
diff --git a/dev-support/create-release/mac-sshd-gpg-agent/Dockerfile b/dev-support/create-release/mac-sshd-gpg-agent/Dockerfile
index a71d867..3d206dc 100644
--- a/dev-support/create-release/mac-sshd-gpg-agent/Dockerfile
+++ b/dev-support/create-release/mac-sshd-gpg-agent/Dockerfile
@@ -83,7 +83,7 @@ FROM ubuntu:18.04
 # into the container rather than launching a new docker container.
 RUN DEBIAN_FRONTEND=noninteractive apt-get -qq -y update \
   && DEBIAN_FRONTEND=noninteractive apt-get -qq -y install --no-install-recommends \
-  openssh-server=1:7.6p1-4ubuntu0.3 gnupg2=2.2.4-1ubuntu1.2 && mkdir /run/sshd \
+  openssh-server=1:7.6p1-4ubuntu0.3 gnupg2=2.2.4-1ubuntu1.3 && mkdir /run/sshd \
   && echo "StreamLocalBindUnlink yes" >> /etc/ssh/sshd_config \
   && apt-get clean \
   && rm -rf /var/lib/apt/lists/*


[hbase] 01/02: Release script changes

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

stack pushed a commit to branch HBASE-25354
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 178f668d730d7b61311f8300d2d395f387652ad9
Author: stack <st...@apache.org>
AuthorDate: Tue Dec 1 17:42:46 2020 -0800

    Release script changes
---
 dev-support/create-release/do-release.sh   | 13 +++++++----
 dev-support/create-release/release-util.sh | 35 +++++++++++++++++++++++-------
 2 files changed, 36 insertions(+), 12 deletions(-)

diff --git a/dev-support/create-release/do-release.sh b/dev-support/create-release/do-release.sh
index 9500801..4f332ce 100755
--- a/dev-support/create-release/do-release.sh
+++ b/dev-support/create-release/do-release.sh
@@ -17,6 +17,10 @@
 # limitations under the License.
 #
 
+# Make a tmp dir into which we put files cleaned-up on exit.
+TMPDIR=$(mktemp -d)
+trap "rm -rf $TMPDIR" EXIT
+
 set -e
 # Use the adjacent do-release-docker.sh instead, if you can.
 # Otherwise, this runs core of the release creation.
@@ -88,13 +92,14 @@ fi
 
 GPG_TTY="$(tty)"
 export GPG_TTY
-echo "Testing gpg signing."
-echo "foo" > gpg_test.txt
-if ! "${GPG}" "${GPG_ARGS[@]}" --detach --armor --sign gpg_test.txt ; then
+gpg_test_file="${TMPDIR}/gpg_test.$$.txt"
+echo "Testing gpg signing ${GPG} ${GPG_ARGS[@]} --detach --armor --sign ${gpg_test_file}"
+echo "foo" > "${gpg_test_file}"
+if ! "${GPG}" "${GPG_ARGS[@]}" --detach --armor --sign "${gpg_test_file}" ; then
   gpg_agent_help
 fi
 # In --batch mode we have to be explicit about what we are verifying
-if ! "${GPG}" "${GPG_ARGS[@]}" --verify gpg_test.txt.asc gpg_test.txt ; then
+if ! "${GPG}" "${GPG_ARGS[@]}" --verify "${gpg_test_file}.asc" "${gpg_test_file}" ; then
   gpg_agent_help
 fi
 
diff --git a/dev-support/create-release/release-util.sh b/dev-support/create-release/release-util.sh
index 64654bb..b3cd408 100755
--- a/dev-support/create-release/release-util.sh
+++ b/dev-support/create-release/release-util.sh
@@ -26,7 +26,7 @@ fi
 # Maven Profiles for publishing snapshots and release to Maven Central and Dist
 PUBLISH_PROFILES=("-P" "apache-release,release")
 
-set -e
+set -xe
 
 function error {
   echo "Error: $*" >&2
@@ -501,6 +501,14 @@ function update_releasenotes {
   local jira_project
   local timing_token
   timing_token="$(start_step)"
+  changelog="CHANGELOG.${jira_fix_version}.md"
+  releasenotes="RELEASENOTES.${jira_fix_version}.md"
+  if [ -f ${changelog} ]; then
+    rm ${changelog}
+  fi
+  if [ -f ${releasenotes} ]; then
+    rm ${releasenotes}
+  fi
   jira_project="$(get_jira_name "$(basename "$project_dir")")"
   "${YETUS_HOME}/bin/releasedocmaker" -p "${jira_project}" --fileversions -v "${jira_fix_version}" \
       -l --sortorder=newer --skip-credits
@@ -517,24 +525,35 @@ function update_releasenotes {
         "${project_dir}/RELEASENOTES.md" || true
   fi
 
+  # Yetus will not generate CHANGES if no JIRAs fixed against the release version
+  # (Could happen if a release were bungled such that we had to make a new one
+  # without changes)
+  if [ ! -f "${changelog}" ]; then
+    echo -e "## Release ${jira_fix_version} - Unreleased (as of `date`)\nNo changes\n" > "${changelog}"
+  fi
+  if [ ! -f "${releasenotes}" ]; then
+    echo -e "# hbase ${jira_fix_version} Release Notes\nNo changes\n" > "${releasenotes}"
+  fi
+
   # The releasedocmaker call above generates RELEASENOTES.X.X.X.md and CHANGELOG.X.X.X.md.
   if [ -f "${project_dir}/CHANGES.md" ]; then
     # To insert into project's CHANGES.md...need to cut the top off the
     # CHANGELOG.X.X.X.md file removing license and first line and then
     # insert it after the license comment closing where we have a
     # DO NOT REMOVE marker text!
-    sed -i -e '/## Release/,$!d' "CHANGELOG.${jira_fix_version}.md"
-    sed -i -e "/DO NOT REMOVE/r CHANGELOG.${jira_fix_version}.md" "${project_dir}/CHANGES.md"
+    sed -i -e '/## Release/,$!d' "${changelog}"
+    sed -i -e '2,${/^# HBASE Changelog/d;}' "${project_dir}/CHANGES.md"
+    sed -i -e "/DO NOT REMOVE/r ${changelog}" "${project_dir}/CHANGES.md"
   else
-    mv "CHANGELOG.${jira_fix_version}.md" "${project_dir}/CHANGES.md"
+    mv "${changelog}" "${project_dir}/CHANGES.md"
   fi
   if [ -f "${project_dir}/RELEASENOTES.md" ]; then
     # Similar for RELEASENOTES but slightly different.
-    sed -i -e '/Release Notes/,$!d' "RELEASENOTES.${jira_fix_version}.md"
-    sed -i -e "/DO NOT REMOVE/r RELEASENOTES.${jira_fix_version}.md" \
-        "${project_dir}/RELEASENOTES.md"
+    sed -i -e '/Release Notes/,$!d' "${releasenotes}"
+    sed -i -e '2,${/^# RELEASENOTES/d;}' "${project_dir}/RELEASENOTES.md"
+    sed -i -e "/DO NOT REMOVE/r ${releasenotes}" "${project_dir}/RELEASENOTES.md"
   else
-    mv "RELEASENOTES.${jira_fix_version}.md" "${project_dir}/RELEASENOTES.md"
+    mv "${releasenotes}" "${project_dir}/RELEASENOTES.md"
   fi
   stop_step "${timing_token}"
 }