You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by cloud-fan <gi...@git.apache.org> on 2018/09/16 02:56:35 UTC

[GitHub] spark pull request #21515: [SPARK-24372][build] Add scripts to help with pre...

Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21515#discussion_r217900617
  
    --- Diff: dev/create-release/do-release-docker.sh ---
    @@ -0,0 +1,143 @@
    +#!/usr/bin/env bash
    +
    +#
    +# Licensed to the Apache Software Foundation (ASF) under one or more
    +# contributor license agreements.  See the NOTICE file distributed with
    +# this work for additional information regarding copyright ownership.
    +# The ASF licenses this file to You under the Apache License, Version 2.0
    +# (the "License"); you may not use this file except in compliance with
    +# the License.  You may obtain a copy of the License at
    +#
    +#    http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing, software
    +# distributed under the License is distributed on an "AS IS" BASIS,
    +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +# See the License for the specific language governing permissions and
    +# limitations under the License.
    +#
    +
    +#
    +# Creates a Spark release candidate. The script will update versions, tag the branch,
    +# build Spark binary packages and documentation, and upload maven artifacts to a staging
    +# repository. There is also a dry run mode where only local builds are performed, and
    +# nothing is uploaded to the ASF repos.
    +#
    +# Run with "-h" for options.
    +#
    +
    +set -e
    +SELF=$(cd $(dirname $0) && pwd)
    +. "$SELF/release-util.sh"
    +
    +function usage {
    +  local NAME=$(basename $0)
    +  cat <<EOF
    +Usage: $NAME [options]
    +
    +This script runs the release scripts inside a docker image. The image is hardcoded to be called
    +"spark-rm" and will be re-generated (as needed) on every invocation of this script.
    +
    +Options are:
    +
    +  -d [path]   : required: working directory (output will be written to an "output" directory in
    +                the working directory).
    +  -n          : dry run mode. Performs checks and local builds, but do not upload anything.
    +  -t [tag]    : tag for the spark-rm docker image to use for building (default: "latest").
    +  -j [path]   : path to local JDK installation to use for building. By default the script will
    +                use openjdk8 installed in the docker image.
    +  -s [step]   : runs a single step of the process; valid steps are: tag, build, docs, publish
    +EOF
    +}
    +
    +WORKDIR=
    +IMGTAG=latest
    +JAVA=
    +RELEASE_STEP=
    +while getopts "d:hj:ns:t:" opt; do
    +  case $opt in
    +    d) WORKDIR="$OPTARG" ;;
    +    n) DRY_RUN=1 ;;
    +    t) IMGTAG="$OPTARG" ;;
    +    j) JAVA="$OPTARG" ;;
    +    s) RELEASE_STEP="$OPTARG" ;;
    +    h) usage ;;
    +    ?) error "Invalid option. Run with -h for help." ;;
    +  esac
    +done
    +
    +if [ -z "$WORKDIR" ] || [ ! -d "$WORKDIR" ]; then
    +  error "Work directory (-d) must be defined and exist. Run with -h for help."
    +fi
    +
    +if [ -d "$WORKDIR/output" ]; then
    +  read -p "Output directory already exists. Overwrite and continue? [y/n] " ANSWER
    +  if [ "$ANSWER" != "y" ]; then
    +    error "Exiting."
    +  fi
    +fi
    +
    +cd "$WORKDIR"
    +rm -rf "$WORKDIR/output"
    +mkdir "$WORKDIR/output"
    +
    +get_release_info
    +
    +# Place all RM scripts and necessary data in a local directory that must be defined in the command
    +# line. This directory is mounted into the image.
    +for f in "$SELF"/*; do
    +  if [ -f "$f" ]; then
    +    cp "$f" "$WORKDIR"
    +  fi
    +done
    +
    +GPG_KEY_FILE="$WORKDIR/gpg.key"
    --- End diff --
    
    how shall we generate this `gpg.key`?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org