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