You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2017/09/13 15:26:49 UTC

[6/6] incubator-impala git commit: IMPALA-5905: add script for all-build-options job

IMPALA-5905: add script for all-build-options job

This checks in a modified version of the job script for
https://jenkins.impala.io/view/Experimental/job/all-build-options
which adds UBSAN and TSAN.

The script is also modified to not reference any jenkins environment
variables, e.g. WORKSPACE, since the Jenkins job script intermingled
references to those with the script logic.

Change-Id: I6e78f05c41e3ccd59af599b00e453e7f88b2bb34
Reviewed-on: http://gerrit.cloudera.org:8080/8043
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Tim Armstrong <ta...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/6596bebe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/6596bebe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/6596bebe

Branch: refs/heads/master
Commit: 6596bebe009e363a0095b2a29b17a73b0b891856
Parents: 322e2dc
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Tue Sep 12 14:13:50 2017 -0700
Committer: Tim Armstrong <ta...@cloudera.com>
Committed: Wed Sep 13 15:23:06 2017 +0000

----------------------------------------------------------------------
 bin/jenkins/build-all-flag-combinations.sh | 59 +++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6596bebe/bin/jenkins/build-all-flag-combinations.sh
----------------------------------------------------------------------
diff --git a/bin/jenkins/build-all-flag-combinations.sh b/bin/jenkins/build-all-flag-combinations.sh
new file mode 100755
index 0000000..cfd6fde
--- /dev/null
+++ b/bin/jenkins/build-all-flag-combinations.sh
@@ -0,0 +1,59 @@
+#!/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.
+
+# Build Impala with the most common build configurations and check that the build
+# succeeds.a Intended for use as a precommit test to make sure nothing got broken.
+#
+# Assumes that ninja and ccache are installed.
+
+set -euo pipefail
+trap 'echo Error in $0 at line $LINENO: $(cd "'$PWD'" && awk "NR == $LINENO" $0)' ERR
+
+OPTIONS=("-skiptests" "-noclean")
+FAILED_OPTIONS=""
+for BUILD_TYPE in "" -asan -release -ubsan -tsan
+do
+  OPTIONS[2]=$BUILD_TYPE
+  for NINJA in "" -ninja
+  do
+    OPTIONS[3]=$NINJA
+    for BUILD_SHARED_LIBS in "" -so
+    do
+      OPTIONS[4]=$BUILD_SHARED_LIBS
+      if ! ./bin/clean.sh
+      then
+        echo "Clean failed"
+        exit 1
+      fi
+      echo "Building with OPTIONS: ${OPTIONS[@]}"
+      if ! time -p ./buildall.sh ${OPTIONS[@]}
+      then
+        echo "Build failed with OPTIONS: ${OPTIONS[@]}"
+        FAILED_OPTIONS="${FAILED_OPTIONS}:${OPTIONS[@]}"
+      fi
+      ccache -s
+    done
+  done
+done
+
+if [[ "$FAILED_OPTIONS" != "" ]]
+  echo "Builds with the following options failed:"
+  echo "$FAILED_OPTIONS"
+  exit 1
+fi