diff options
Diffstat (limited to 'git')
-rwxr-xr-x | git/pylint.sh | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/git/pylint.sh b/git/pylint.sh index 286747565..86ea52d45 100755 --- a/git/pylint.sh +++ b/git/pylint.sh @@ -1,14 +1,44 @@ #!/usr/bin/env bash +set -eu +ANSIBLE_UPSTREAM_FILES=( + 'inventory/aws/hosts/ec2.py' + 'inventory/gce/hosts/gce.py' + 'inventory/libvirt/hosts/libvirt_generic.py' + 'inventory/openstack/hosts/nova.py' + 'lookup_plugins/sequence.py' + ) OLDREV=$1 NEWREV=$2 -TRG_BRANCH=$3 +#TRG_BRANCH=$3 PYTHON=/var/lib/jenkins/python27/bin/python -/usr/bin/git diff --name-only $OLDREV $NEWREV --diff-filter=ACM | \ - grep ".py$" | \ - xargs -r -I{} ${PYTHON} -m pylint --rcfile ${WORKSPACE}/git/.pylintrc {} +PY_DIFF=$(/usr/bin/git diff --name-only $OLDREV $NEWREV --diff-filter=ACM | grep ".py$") -exit $? +FILES_TO_TEST="" + +for PY_FILE in $PY_DIFF; do + IGNORE_FILE=false + for UPSTREAM_FILE in "${ANSIBLE_UPSTREAM_FILES[@]}"; do + if [ "${PY_FILE}" == "${UPSTREAM_FILE}" ]; then + IGNORE_FILE=true + break + fi + done + + if [ "${IGNORE_FILE}" == true ]; then + echo "Skipping file ${PY_FILE} as an upstream Ansible file..." + continue + fi + + if [ -e "${PY_FILE}" ]; then + FILES_TO_TEST="${FILES_TO_TEST} ${PY_FILE}" + fi +done + +if [ "${FILES_TO_TEST}" != "" ]; then + echo "Testing files: ${FILES_TO_TEST}" + ${PYTHON} -m pylint --rcfile ${WORKSPACE}/git/.pylintrc ${FILES_TO_TEST} +fi |