Merge branch 'master' into 6096-package-rails-apps
[arvados-dev.git] / jenkins / run-diagnostics-suite.sh
index be4e5592943fbc61852c03cc78988ae6f0ca1f3f..015a0539c832fdcec36c257cb5ae51aee48c32c2 100755 (executable)
@@ -2,6 +2,30 @@
 
 EXITCODE=0
 
+INSTANCE=$1
+REVISION=$2
+
+if [[ "$INSTANCE" == '' ]]; then
+  echo "Syntax: $0 <instance> [revision]"
+  exit 1
+fi
+
+if [[ "$REVISION" == '' ]]; then
+  # See if there's a configuration file with the revision?
+  CONFIG_PATH=/home/jenkins/configuration/$INSTANCE.arvadosapi.com-versions.conf
+  if [[ -f $CONFIG_PATH ]]; then
+    echo "Loading git revision from $CONFIG_PATH"
+    . $CONFIG_PATH
+    REVISION=$ARVADOS_GIT_REVISION
+  fi
+fi
+
+if [[ "$REVISION" != '' ]]; then
+  echo "Git revision is $REVISION"
+else
+  echo "No valid git revision found, proceeding with what is in place."
+fi
+
 # Sanity check
 if ! [[ -n "$WORKSPACE" ]]; then
   echo "WORKSPACE environment variable not set"
@@ -29,7 +53,11 @@ timer_reset
 
 cd $WORKSPACE
 
-cp -f /home/jenkins/diagnostics/arvados-workbench/application.yml $WORKSPACE/apps/workbench/config/
+if [[ "$REVISION" != '' ]]; then
+  git checkout $REVISION
+fi
+
+cp -f /home/jenkins/diagnostics/arvados-workbench/$INSTANCE-application.yml $WORKSPACE/apps/workbench/config/application.yml
 
 cd $WORKSPACE/apps/workbench
 
@@ -43,6 +71,10 @@ RAILS_ENV=diagnostics bundle exec rake TEST=test/diagnostics/pipeline_test.rb
 
 ECODE=$?
 
+if [[ "$REVISION" != '' ]]; then
+  git checkout master
+fi
+
 if [[ "$ECODE" != "0" ]]; then
   title "!!!!!! DIAGNOSTICS FAILED (`timer`) !!!!!!"
   EXITCODE=$(($EXITCODE + $ECODE))