#!/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 PYTHON=$(which python) set +e PY_DIFF=$(/usr/bin/git diff --name-only $OLDREV $NEWREV --diff-filter=ACM | grep ".py$") set -e 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 export PYTHONPATH=${WORKSPACE}/utils/src/:${WORKSPACE}/utils/test/ if [ "${FILES_TO_TEST}" != "" ]; then echo "Testing files: ${FILES_TO_TEST}" exec ${PYTHON} -m pylint --rcfile ${WORKSPACE}/git/.pylintrc ${FILES_TO_TEST} else exit 0 fi