Did you miss the "ACCUMULO" at the bottom of the script? :)

Also, did you create a Yetus personality for Rya?[1]

Have you tried running something like the following locally to verify that it works with the Yetus 0.3.0 release?

e.g. `test-patch.sh --findbugs-strict-precheck --mvn-custom-repos RYA-XXX` (where RYA-XXX is the ID for a RYA JIRA issue which has a patch attached and is in the Patch Available state)

[1] http://yetus.apache.org/documentation/in-progress/precommit-advanced/#personalities

Amila Wijayarathna wrote:
Hi all,
  I'm trying integrate yetus test patch with jenkins to add pre-commit build
for Rya. I configured jenkins for pre-commit build and went through
pre-commit accumulo build shell script [1]. But I'm not sure what are
changes that need to do in the script for Rya. As in the script there is no
much thing about Accumulo so I made some changes but it seems they are not
correct or incomplete.
Any idea about this is appreciated.

Thank you!



#!/bin/bash -e

if [[ "true" = "${DEBUG}" ]]; then
   set -x
fi

##To set jenkins Environment Variables:
export TOOLS_HOME=/home/jenkins/tools
export JAVA_HOME=${TOOLS_HOME}/java/jdk1.7.0_79
export FINDBUGS_HOME=${TOOLS_HOME}/findbugs/latest
export CLOVER_HOME=${TOOLS_HOME}/clover/latest
export MAVEN_HOME=${TOOLS_HOME}/maven/latest

export PATH=$PATH:${JAVA_HOME}/bin:${MAVEN_HOME}/bin:

YETUS_RELEASE=0.3.0
COMPONENT=${WORKSPACE}/component
TEST_FRAMEWORK=${WORKSPACE}/test_framework

PATCHPROCESS=${WORKSPACE}/patchprocess
if [[ -d ${PATCHPROCESS} ]]; then
   echo "[WARN] patch process already existed '${PATCHPROCESS}'"
   rm -rf "${PATCHPROCESS}"
fi
mkdir -p "${PATCHPROCESS}"

# First time we call this it's from jenkins, so break it on spaces
YETUS_ARGS=(${YETUS_ARGS} --jenkins)

# Temporary hack to fix the nodes I messed up
if [ -d "${TEST_FRAMEWORK}" ]; then
   rm -rf "${TEST_FRAMEWORK}"
fi

### Download Yetus
if [[ "true" != "${USE_YETUS_PRERELEASE}" ]]; then
   if [ ! -d "${TEST_FRAMEWORK}/yetus-${YETUS_RELEASE}" ]; then
     mkdir -p "${TEST_FRAMEWORK}"
     cd "${TEST_FRAMEWORK}"
     # clear out any cached 'use a prerelease' versions
     rm -rf apache-yetus-*

     mkdir -p "${TEST_FRAMEWORK}/.gpg"
     chmod -R 700 "${TEST_FRAMEWORK}/.gpg"

     curl -L --fail -o "${TEST_FRAMEWORK}/KEYS_YETUS"
https://dist.apache.org/repos/dist/release/yetus/KEYS
     gpg --homedir "${TEST_FRAMEWORK}/.gpg" --import
"${TEST_FRAMEWORK}/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 "${TEST_FRAMEWORK}/.gpg" --verify
"yetus-${YETUS_RELEASE}-bin.tar.gz.asc"
     tar xzpf "yetus-${YETUS_RELEASE}-bin.tar.gz"
   fi
   TESTPATCHBIN=${TEST_FRAMEWORK}/yetus-${YETUS_RELEASE}/bin/test-patch
   TESTPATCHLIB=${TEST_FRAMEWORK}/yetus-${YETUS_RELEASE}/lib/precommit
else
   prerelease_dirs=(${TEST_FRAMEWORK}/apache-yetus-*)
   if [ ! -d "${prerelease_dirs[0]}" ]; then
     mkdir -p "${TEST_FRAMEWORK}"
     cd "${TEST_FRAMEWORK}"
     ## from github
     curl -L --fail https://api.github.com/repos/apache/yetus/tarball/HEAD>
yetus.tar.gz
     tar xvpf yetus.tar.gz
     prerelease_dirs=(${TEST_FRAMEWORK}/apache-yetus-*)
   fi
   TESTPATCHBIN=${prerelease_dirs[0]}/precommit/test-patch.sh
   TESTPATCHLIB=${prerelease_dirs[0]}/precommit
fi


if [[ "true" = "${DEBUG}" ]]; then
   # DEBUG print the test framework
   ls -l "${TESTPATCHBIN}"
   ls -la "${TESTPATCHLIB}/test-patch.d/"
   YETUS_ARGS=(--debug ${YETUS_ARGS[@]})
fi


if [ ! -x "${TESTPATCHBIN}" ]&&  [ -n "${TEST_FRAMEWORK}" ]&&  [ -d
"${TEST_FRAMEWORK}" ]; then
   echo "Something is amiss with the test framework; removing it. please
re-run."
   echo "${WORKSPACE}"
   ls -al ${WORKSPACE}
   echo "TEST_FRAMEWORK: ${TEST_FRAMEWORK}"
   ls -al ${TEST_FRAMEWORK}/apache-yetus-*/precommit/
   ls -al ${TEST_FRAMEWORK}/apache-yetus-*/precommit/test-patch.sh
   echo "TESTPATCHBIN: ${TESTPATCHBIN}"
   ls -al "${TESTPATCHBIN}"

   rm -rf "${TEST_FRAMEWORK}"
   exit 1
fi

cd "${WORKSPACE}"

#
# Yetus *always* builds with JAVA_HOME, so no need to list it.
#
# non-docker-mode JDK:
#         --findbugs-home=/home/jenkins/tools/findbugs/latest \
#         --multijdkdirs="${TOOLS_HOME}/java/jdk1.8.0" \

# docker-mode:  (openjdk 7 added for free)
#         --findbugs-home=/opt/findbugs \
#         --docker \
#         --multijdkdirs="/usr/lib/jvm/java-8-oracle" \



#if [[ "true" = "${RUN_IN_DOCKER}" ]]; then
#  YETUS_ARGS=(--docker --multijdkdirs="/usr/lib/jvm/java-8-oracle"
--findbugs-home=/opt/findbugs ${YETUS_ARGS[@]})
#  if [ -r "${COMPONENT}/dev-support/docker/Dockerfile" ]; then
#    YETUS_ARGS=(--dockerfile="${COMPONENT}/dev-support/docker/Dockerfile"
${YETUS_ARGS[@]})
#  fi
#else
YETUS_ARGS=(--findbugs-home=/home/jenkins/tools/findbugs/latest
--multijdkdirs="${TOOLS_HOME}/java/jdk1.8.0" ${YETUS_ARGS[@]})
#fi


/bin/bash "${TESTPATCHBIN}" \
         "${YETUS_ARGS[@]}" \
         --patch-dir="${PATCHPROCESS}" \
         --basedir="${COMPONENT}" \
         --findbugs-strict-precheck \
         --mvn-custom-repos \
         --jira-user=hadoopqa \
         --jira-password="${JIRA_PASSWORD}" \
         "ACCUMULO-${ISSUE_NUM}"

find "${COMPONENT}" -name target -exec chmod -R u+w {} \;

Reply via email to