HBASE-22854 Remove +x shell spew from do-release-*.sh create-release scripts

This commit is contained in:
stack 2019-08-14 10:05:41 -07:00
parent 27ed2ac071
commit 53db390f60
6 changed files with 53 additions and 23 deletions

View File

@ -0,0 +1,41 @@
Entrance script is _do-release-docker.sh_. Requires a local docker;
for example, on mac os x, Docker for Desktop installed and running.
Before starting the RC build, run a reconciliation of what is in
JIRA with what is in the commit log. Make sure they align and that
anomalies are explained up in JIRA.
See http://hbase.apache.org/book.html#maven.release
Running a build on GCE is easy enough. Here are some notes if of use.
Create an instance. 4CPU/15G/10G disk seems to work well enough.
Once up, run the below to make your machine fit for RC building:
# Presuming debian-compatible OS
$ sudo apt-get install -y git openjdk-8-jdk maven gnupg gnupg-agent
# Install docker
$ sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo add-apt-repository -y \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
$ sudo usermod -a -G docker $USERID
# LOGOUT and then LOGIN again so $USERID shows as part of docker groupl
# Copy up private key for $USERID export from laptop and import on gce.
$ gpg --import stack.duboce.net.asc
$ export GPG_TTY=$(tty) # https://github.com/keybase/keybase-issues/issues/2798
$ eval $(gpg-agent --disable-scdaemon --daemon --no-grab --allow-preset-passphrase --default-cache-ttl=86400 --max-cache-ttl=86400)
$ git clone https://github.com/apache/hbase.git
$ cd hbase
$ mkdir ~/build
$ ./dev-resources/create-release/do-release-docker.sh -d ~/build
# etc.

View File

@ -46,7 +46,6 @@
# #
# 1. https://github.com/apache/spark/tree/master/dev/create-release # 1. https://github.com/apache/spark/tree/master/dev/create-release
# #
set -x
set -e set -e
SELF=$(cd $(dirname $0) && pwd) SELF=$(cd $(dirname $0) && pwd)
. "$SELF/release-util.sh" . "$SELF/release-util.sh"

View File

@ -19,7 +19,6 @@
# Called by do-release-docker.sh. Can be run standalone but needs some love # Called by do-release-docker.sh. Can be run standalone but needs some love
# for it to work smooth. # for it to work smooth.
set -x
SELF=$(cd $(dirname $0) && pwd) SELF=$(cd $(dirname $0) && pwd)
. "$SELF/release-util.sh" . "$SELF/release-util.sh"

View File

@ -16,8 +16,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# #
set -x
trap cleanup EXIT trap cleanup EXIT
SELF=$(cd $(dirname $0) && pwd) SELF=$(cd $(dirname $0) && pwd)

View File

@ -16,7 +16,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# #
set -x
DRY_RUN=${DRY_RUN:-0} DRY_RUN=${DRY_RUN:-0}
GPG="gpg --pinentry-mode loopback --no-tty --batch" GPG="gpg --pinentry-mode loopback --no-tty --batch"
ASF_REPO="https://gitbox.apache.org/repos/asf/hbase.git" ASF_REPO="https://gitbox.apache.org/repos/asf/hbase.git"

View File

@ -548,40 +548,33 @@ For the build to sign them for you, you a properly configured _settings.xml_ in
=== Making a Release Candidate === Making a Release Candidate
Only committers can make releases of hbase artifacts. Only committers can make releases of hbase artifacts.
Making a Release Candidate (RC) is comprised of many involved steps.
The steps are described in detail below in the section
<<rc_procedure>> but a script that automates the process is
described first in <<do-release-docker.sh>>.
.Before You Begin .Before You Begin
Check to be sure recent builds have been passing for the branch from where you Check to be sure recent builds have been passing for the branch from where you
are going to take your release. You should also have tried recent branch tips are going to take your release. You should also have tried recent branch tips
out on a cluster under load, perhaps by running the `hbase-it` integration test out on a cluster under load, perhaps by running the `hbase-it` integration test
suite for a few hours to 'burn in' the near-candidate bits. suite for a few hours to 'burn in' the near-candidate bits.
Make sure your environment is properly set up. You will need a published signing key added to the hbase
You will need to have a published signing key added to the hbase
link:https://dist.apache.org/repos/dist/release/hbase/KEYS[KEYS] file. link:https://dist.apache.org/repos/dist/release/hbase/KEYS[KEYS] file.
Browse the Hadoop link:http://wiki.apache.org/hadoop/HowToRelease[How To Release] (For how to add a KEY, see _Step 1._ in link:https://cwiki.apache.org/confluence/display/HADOOP2/HowToRelease[How To Release],
wiki page on how to release. It is a model for the instructions below. It often has more the Hadoop version of this document).
detail on particular steps. For example, _Step 1._ describes how to add
your code signing key to the
link:https://dist.apache.org/repos/dist/release/hbase/KEYS[KEYS] file up in Apache
(as well as outlinks on what a signing key is).
Next make sure JIRA is properly primed, that all issues targeted against Next make sure JIRA is properly primed, that all issues targeted against
the prospective release have been resolved and are present in git on the the prospective release have been resolved and are present in git on the
particular branch. If any outstanding, move them out of the release by particular branch. If any outstanding issues, move them out of the release by
adjusting the fix version to remove this pending release as a target. adjusting the fix version to remove this pending release as a target.
Any JIRA with a fix version that matches the release candidate Any JIRA with a fix version that matches the release candidate
target release will be included in the generated _CHANGES.md/RELEASENOTES.md_ target release will be included in the generated _CHANGES.md/RELEASENOTES.md_
that ship with the release so make sure JIRA is correct before you begin. files that ship with the release so make sure JIRA is correct before you begin.
(_Step 2._ in link:http://wiki.apache.org/hadoop/HowToRelease[How To Release]
talks of how it is done in Hadoop). After doing the above, you can move to the manufacture of an RC.
Building an RC is involved. We've tried to script it. In the next section
we describe the script. It is followed by a description of the steps
involved which the script automates.
[[do-release-docker.sh]] [[do-release-docker.sh]]
==== Release Candidate Generating Script ==== Release Candidate Generating Script
The _dev-support/create-release/do-release-docker.sh_ Release Candidate (RC) The _dev-support/create-release/do-release-docker.sh_ Release Candidate (RC)
Generating script is maintained in the master branch but can generate RCs Generating script is maintained in the master branch but can generate RCs
for any 2.x+ branch (The script does not work against branch-1). Check out for any 2.x+ branch (The script does not work against branch-1). Check out
@ -612,6 +605,7 @@ The script will:
* Pushes to repository.apache.org staging. * Pushes to repository.apache.org staging.
* Creates vote email template. * Creates vote email template.
The RC building script is _dev-support/create-release/do-release-docker.sh_.
Pass _-h_ to _dev-support/create-release/do-release-docker.sh_ to Pass _-h_ to _dev-support/create-release/do-release-docker.sh_ to
see available options: see available options: