From 290910755465175a3c5dc177afb402a2ca5bd915 Mon Sep 17 00:00:00 2001 From: James Polley Date: Thu, 15 Aug 2019 20:31:29 +1000 Subject: [PATCH] More robust use of our virtualenv (#1412) Prior to this change, the script tests if it's running inside a virtualenv; and if it is, it assumes that it must be inside its own virtualenv. This change switches to testing for the activate binary in the place we expect; and if it's found, using it directly. This avoids false positives (running the script inside the wrong virtualenv) and makes sure that we're running inside the right virtualenv. --- algo | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/algo b/algo index 260c0e6..0ff3f0a 100755 --- a/algo +++ b/algo @@ -2,19 +2,17 @@ set -e -if [ -z ${VIRTUAL_ENV+x} ] +ACTIVATE_SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/env/bin/activate" +if [ -f "$ACTIVATE_SCRIPT" ] then - ACTIVATE_SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/env/bin/activate" - if [ -f "$ACTIVATE_SCRIPT" ] - then # shellcheck source=/dev/null source "$ACTIVATE_SCRIPT" - else +else echo "$ACTIVATE_SCRIPT not found. Did you follow documentation to install dependencies?" exit 1 - fi fi + case "$1" in update-users) PLAYBOOK=users.yml; ARGS=( "${@:2}" -t update-users ) ;; *) PLAYBOOK=main.yml; ARGS=( "${@}" ) ;;