From 740725b391bfba07f99ccb0e990d36675eb5723d Mon Sep 17 00:00:00 2001 From: Sean Busbey Date: Thu, 1 Jun 2017 12:45:12 -0500 Subject: [PATCH] HBASE-18147 WIP nightly job that uses yetus test patch qbt. --- dev-support/nightly_summary.sh | 95 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 dev-support/nightly_summary.sh diff --git a/dev-support/nightly_summary.sh b/dev-support/nightly_summary.sh new file mode 100644 index 0000000..a46ba1d --- /dev/null +++ b/dev-support/nightly_summary.sh @@ -0,0 +1,95 @@ +#!/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. + +YETUS_RELEASE=0.3.0 + +if [ -z "${MAVEN_HOME}" ]; then + if [ -x "${MAVEN_3_LATEST__HOME}/bin/mvn" ]; then + MAVEN_HOME=${MAVEN_3_LATEST__HOME} + elif [ -x "/home/jenkins/tools/maven/latest3/bin/mvn" ]; then + MAVEN_HOME=/home/jenkins/tools/maven/latest3 + elif [ -x "/home/jenkins/jenkins-slave/tools/hudson.tasks.Maven_MavenInstallation/Maven 3.3.3/bin/mvn" ]; then + MAVEN_HOME=/home/jenkins/jenkins-slave/tools/hudson.tasks.Maven_MavenInstallation/Maven 3.3.3 + elif [ -x "/home/jenkins/tools/maven/latest/bin/mvn" ]; then + MAVEN_HOME=/home/jenkins/tools/maven/latest + else + echo "Can't find MAVEN_HOME. Failing." + exit 1 + fi +fi +echo "MAVEN_HOME: ${MAVEN_HOME}" +export MAVEN_HOME + +export JAVA_HOME=${LATEST1_7_HOME} +export PATH=${PATH}:${JAVA_HOME}/bin:${MAVEN_HOME}/bin + + +YETUSDIR=${WORKSPACE}/yetus +ARTIFACTS=${WORKSPACE}/out +BASEDIR=${WORKSPACE}/sourcedir +TOOLS=${WORKSPACE}/tools +rm -rf "${ARTIFACTS}" "${YETUSDIR}" ".gpg" +mkdir -p "${ARTIFACTS}" "${YETUSDIR}" "${TOOLS}" + + +### Download Yetus +if [[ "true" != "${USE_YETUS_PRERELEASE}" ]]; then + mkdir -p "${WORKSPACE}/.gpg" + chmod -R 700 "${WORKSPACE}/.gpg" + + curl -L --fail -o "${WORKSPACE}/KEYS_YETUS" https://dist.apache.org/repos/dist/release/yetus/KEYS + gpg --homedir "${WORKSPACE}/.gpg" --import "${WORKSPACE}/KEYS_YETUS" + + ## Release + curl -L --fail -O "https://dist.apache.org/repos/dist/release/yetus/${YETUS_RELEASE}/yetus-${YETUS_RELEASE}-bin.tar.gz" + curl -L --fail -O "https://dist.apache.org/repos/dist/release/yetus/${YETUS_RELEASE}/yetus-${YETUS_RELEASE}-bin.tar.gz.asc" + gpg --homedir "${WORKSPACE}/.gpg" --verify "yetus-${YETUS_RELEASE}-bin.tar.gz.asc" + mv "yetus-${YETUS_RELEASE}-bin.tar.gz" yetus.tar.gz + TESTPATCHBIN=${YETUSDIR}/bin/test-patch +else + ## from github + curl -L --fail https://api.github.com/repos/apache/yetus/tarball/HEAD -o yetus.tar.gz + TESTPATCHBIN=${YETUSDIR}/precommit/test-patch.sh + if [ -r "${BASEDIR}/dev-support/hbase-personality.sh" ]; then + YETUS_ARGS=("--personality=${BASEDIR}/dev-support/hbase-personality.sh" "${YETUS_ARGS[@]}") + fi +fi +gunzip -c yetus.tar.gz | tar xpf - -C "${YETUSDIR}" --strip-components 1 + + +echo "Downloading HBase personality" +curl -L -o "${TOOLS}/personality.sh" 'https://raw.githubusercontent.com/apache/hbase/master/dev-support/hbase-personality.sh' + +YETUS_ARGS=("--basedir=${BASEDIR}" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--build-url-artifacts=artifact/out" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--console-urls" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--docker" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--dockerfile=${BASEDIR}/dev-support/docker/Dockerfile" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--empty-patch" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--findbugs-home=/opt/findbugs" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--html-report-file=${ARTIFACTS}/console-report.html" "${YETUS_ARGS[@]}") +#YETUS_ARGS=("--jenkins" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--mvn-custom-repos" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--patch-dir=${ARTIFACTS}" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--project=hbase" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--resetrepo" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--author-ignore-list=src/main/asciidoc/_chapters/developer.adoc" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--sentinel" "${YETUS_ARGS[@]}") +YETUS_ARGS=("--tests-filter=cc,checkstyle,javac,javadoc,pylint,shellcheck,whitespace,perlcritic,ruby-lint,rubocop" "${YETUS_ARGS[@]}") + + +/bin/bash ${TESTPATCHBIN} "${YETUS_ARGS[@]}" + -- 2.7.2