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 {} \; -- *Amila Wijayarathna* Undergraduate, Faculty of Information Technology, University of Moratuwa, Sri Lanka.