Skip to content

Instantly share code, notes, and snippets.

@aajisaka
Created April 19, 2020 07:51
Show Gist options
  • Save aajisaka/4b33b66e1832a6a8225d2d6caf7f6b8e to your computer and use it in GitHub Desktop.
Save aajisaka/4b33b66e1832a6a8225d2d6caf7f6b8e to your computer and use it in GitHub Desktop.
HADOOP-17000. Shell script to run precommit jobs via Yetus 0.12.0
#!/usr/bin/env bash
YETUSDIR=${WORKSPACE}/yetus
ARTIFACTS=${WORKSPACE}/out
BASEDIR=${WORKSPACE}/sourcedir
TOOLS=${WORKSPACE}/tools
rm -rf "${ARTIFACTS}" "${YETUSDIR}"
mkdir -p "${ARTIFACTS}" "${YETUSDIR}" "${TOOLS}"
if [[ -d /sys/fs/cgroup/pids/user.slice ]]; then
pids=$(cat /sys/fs/cgroup/pids/user.slice/user-910.slice/pids.max)
if [[ ${pids} -gt 13000 ]]; then
echo "passed: ${pids}"
PIDMAX=10000
else
echo "failed: ${pids}"
PIDMAX=5500
fi
else
systemctl status $$ 2>/dev/null
echo "passed? no limit on trusty?"
PIDMAX=10000
fi
echo "Downloading Yetus 0.12.0"
curl -L https://api.github.com/repos/apache/yetus/tarball/rel/0.12.0 -o yetus.tar.gz
gunzip -c yetus.tar.gz | tar xpf - -C "${YETUSDIR}" --strip-components 1
YETUS_ARGS+=("--archive-list=checkstyle-errors.xml,findbugsXml.xml")
YETUS_ARGS+=("--basedir=${BASEDIR}")
YETUS_ARGS+=("--brief-report-file=${ARTIFACTS}/email-report.txt")
YETUS_ARGS+=("--build-url-artifacts=artifact/out")
YETUS_ARGS+=("--console-report-file=${ARTIFACTS}/console-report.txt")
YETUS_ARGS+=("--console-urls")
YETUS_ARGS+=("--docker")
YETUS_ARGS+=("--dockerfile=${BASEDIR}/dev-support/docker/Dockerfile")
YETUS_ARGS+=("--dockermemlimit=20g")
YETUS_ARGS+=("--findbugs-strict-precheck")
YETUS_ARGS+=("--html-report-file=${ARTIFACTS}/console-report.html")
YETUS_ARGS+=("--java-home=/usr/lib/jvm/java-8-openjdk-amd64")
YETUS_ARGS+=("--jira-password=${JIRA_PASSWORD}")
YETUS_ARGS+=("--jira-user=hadoopqa")
YETUS_ARGS+=("--multijdkdirs=/usr/lib/jvm/java-7-openjdk-amd64")
YETUS_ARGS+=("--multijdktests=compile")
YETUS_ARGS+=("--mvn-custom-repos")
YETUS_ARGS+=("--patch-dir=${ARTIFACTS}")
YETUS_ARGS+=("--project=hadoop")
YETUS_ARGS+=("--proclimit=${PIDMAX}")
YETUS_ARGS+=("--reapermode=kill")
YETUS_ARGS+=("--resetrepo")
YETUS_ARGS+=("--robot")
YETUS_ARGS+=("--sentinel")
YETUS_ARGS+=("--shelldocs=/testptch/hadoop/dev-support/bin/shelldocs")
YETUS_ARGS+=("--tests-filter=checkstyle,pylint,shelldocs")
YETUS_ARGS+=("HADOOP-${ISSUE_NUM}")
TESTPATCHBIN=${YETUSDIR}/precommit/src/main/shell/test-patch.sh
/bin/bash ${TESTPATCHBIN} "${YETUS_ARGS[@]}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment