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

altay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new df16fcd  Add automation script for verifying release build (#5973)
df16fcd is described below

commit df16fcddd9fe64f77d5bdaab1f1a732132645486
Author: Boyuan Zhang <[email protected]>
AuthorDate: Fri Jul 20 10:55:14 2018 -0700

    Add automation script for verifying release build (#5973)
    
    * Add automation script for verifying release build
    
    * Address Ahmet's comments
---
 release/src/main/scripts/verify_release_build.sh | 127 +++++++++++++++++++++++
 1 file changed, 127 insertions(+)

diff --git a/release/src/main/scripts/verify_release_build.sh 
b/release/src/main/scripts/verify_release_build.sh
new file mode 100755
index 0000000..dd0ab74
--- /dev/null
+++ b/release/src/main/scripts/verify_release_build.sh
@@ -0,0 +1,127 @@
+#!/bin/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.
+#
+
+# This script will run pre-installations and run release build.
+
+set -e
+
+GIT_REPO_URL=https://github.com/apache/beam.git
+LOCAL_CLONE_DIR=release_build
+BEAM_ROOT_DIR=beam
+
+echo "Which branch you want to verify release build: "
+read branch
+
+echo "=====================Environment Variables====================="
+echo "working branch: ${branch}"
+echo "local repo dir: ~/${LOCAL_CLONE_DIR}/${BEAM_ROOT_DIR}"
+
+echo "====================Checking Requirement======================="
+
+echo "====================Checking pip==============================="
+if [[ -z `which pip` ]]; then
+  echo "There is no pip installed on your machine."
+  echo "Would you like to install pip with root permission? [y|N]"
+  read confirmation
+  if [[ $confirmation != "y" ]]; then
+    echo "Refused to install pip on your machine. Exit."
+    exit
+  else
+    echo "==================Installing pip========================="
+    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
+    sudo python get-pip.py
+    rm get-pip.py
+  fi
+else
+  pip --version
+fi
+
+echo "====================Checking virtualenv========================"
+if [[ -z `which virtualenv` ]]; then
+  echo "There is no virtualenv installed on your machine."
+  echo "Would you like to install virtualenv with root perrission? [y|N]"
+  read confirmation
+  if [[ $confirmation != "y" ]]; then
+    echo "Refused to install virtualenv on your machine. Exit."
+    exit
+  else
+    echo "==================Installing virtualenv==================="
+    sudo `which pip` install --upgrade virtualenv
+  fi
+else
+  virtualenv --version
+fi
+
+echo "=====================Checking cython==========================="
+if [[ -z `which cython` ]]; then
+  echo "There is no cython installed on your machine."
+  echo "Would you like to install cython with root permission? [y|N]"
+  read confirmation
+  if [[ $confirmation != "y" ]]; then
+    echo "Refused to install cython on your machine. Exit."
+    exit
+  else
+    echo "==================Installing cython======================="
+    sudo `which pip` install cython
+    sudo apt-get install gcc
+    sudo apt-get install python-dev
+  fi
+else
+  cython --version
+fi
+
+echo "==================Checking /usr/bin/time========================"
+if [[ `which time` != "/usr/bin/time" ]]; then
+  echo "There is no usr/bin/time installed on your machine."
+  echo "Would you like to install time on your machine with root permission? 
[y|N]"
+  read confirmation
+  if [[ $confirmation != "y" ]]; then
+    echo "Refused to install time on your machine. Exit."
+    exit
+  else
+    echo "==================Installing time========================="
+    sudo apt-get install time
+    alias time='/usr/bin/time'
+  fi
+else
+  which time
+fi
+
+echo "======================Starting Clone Repo======================"
+mkdir ${LOCAL_CLONE_DIR}
+cd  ${LOCAL_CLONE_DIR}
+git clone ${GIT_REPO_URL}
+cd ${BEAM_ROOT_DIR}
+git checkout ${branch}
+echo "==============================================================="
+
+echo "======================Starting Release Build==================="
+git clean -fdx
+./gradlew clean
+gpg --output ~/doc.sig --sign ~/.bashrc
+# If build fails, we want to catch as much errors as possible once.
+./gradlew build -PisRelease --scan --stacktrace --no-parallel --continue
+echo "==============================================================="
+
+echo "Do you want to clean local clone repo? [y|N]"
+read confirmation
+if [[ $confirmation = "y" ]]; then
+  cd ~
+  rm -rf ${LOCAL_CLONE_DIR}
+  echo "Clean up local repo."
+fi

Reply via email to