From 8df2a5298080fd6e5803c5aec0d7f2db76df35c9 Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Sat, 31 Dec 2016 08:25:02 +0100
Subject: [PATCH] Add support for using conda environments derived from branch
 names (addresses MR!24, issue #31)

---
 gitlab/functions.sh | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/gitlab/functions.sh b/gitlab/functions.sh
index aa861da..ffa4357 100644
--- a/gitlab/functions.sh
+++ b/gitlab/functions.sh
@@ -172,6 +172,18 @@ doc_upload() {
   log_info "Successfully uploaded ${1} with curl"
 }
 
+
+# Checks if an array contains a value
+# taken from here: https://stackoverflow.com/questions/3685970/check-if-an-array-contains-a-value
+# Parameters: <value-to-check> <array-variable>
+# Usage: "a string" "${array[@]}"
+contains_element () {
+  local e
+  for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
+  return 1
+}
+
+
 check_env PYTHON_VERSION
 check_env CI_PROJECT_DIR
 check_env CI_PROJECT_PATH
@@ -220,6 +232,11 @@ PYVER=py$(echo ${PYTHON_VERSION} | tr -d '.')
 if [ -z "${BOB_PREFIX_PATH}" ]; then
   # Default on stock installations for our CIs
   BOB_PREFIX_PATH=${CONDA_FOLDER}/envs/bob-devel-${PYVER}
+
+  # Unless, a special environment (to be tested) exists matching the branch
+  if [ -d ${BOB_PREFIX_PATH}-${CI_BUILD_REF_NAME} ]; then
+    BOB_PREFIX_PATH=${BOB_PREFIX_PATH}-${CI_BUILD_REF_NAME}
+  fi
 fi
 LD_LIBRARY_PATH=${BOB_PREFIX_PATH}/lib
 
@@ -248,10 +265,3 @@ if [ -z "${CI_BUILD_TAG}" ]; then
 else
   log_info "Building tag, not setting BOB_DOCUMENTATION_SERVER"
 fi
-
-# taken from here: https://stackoverflow.com/questions/3685970/check-if-an-array-contains-a-value
-contains_element () {
-  local e
-  for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
-  return 1
-}
-- 
GitLab