diff --git a/jjb/pipeline/voltha/makefile b/jjb/pipeline/voltha/makefile
index a3cb9b0..6c948c3 100644
--- a/jjb/pipeline/voltha/makefile
+++ b/jjb/pipeline/voltha/makefile
@@ -1,6 +1,7 @@
 # -*- makefile -*-
 
 version += master
+version += voltha-2.12
 version += voltha-2.11
 version += voltha-2.8
 version += playground
diff --git a/jjb/pipeline/voltha/master/bbsim-tests.groovy b/jjb/pipeline/voltha/master/bbsim-tests.groovy
index d3950ea..6d0ba1a 100644
--- a/jjb/pipeline/voltha/master/bbsim-tests.groovy
+++ b/jjb/pipeline/voltha/master/bbsim-tests.groovy
@@ -190,9 +190,9 @@
       mkdir -p "$WORKSPACE/voltha-pods-mem-consumption-${workflow}"
       cd "$WORKSPACE/voltha-system-tests"
       make vst_venv
-      source ./vst_venv/bin/activate || true
+      source ./vst_venv/bin/activate
       # Collect initial memory consumption
-      python scripts/mem_consumption.py -o $WORKSPACE/voltha-pods-mem-consumption-${workflow} -a 0.0.0.0:31301 -n ${volthaNamespace} || true
+      python scripts/mem_consumption.py -o $WORKSPACE/voltha-pods-mem-consumption-${workflow} -a 0.0.0.0:31301 -n ${volthaNamespace}
     fi
     """
 
@@ -202,7 +202,7 @@
     ROBOT_MISC_ARGS+="-v ONOS_SSH_PORT:30115 -v ONOS_REST_PORT:30120 -v NAMESPACE:${volthaNamespace} -v INFRA_NAMESPACE:${infraNamespace} -v container_log_dir:${logsDir} -v logging:${testLogging}"
     export KVSTOREPREFIX=voltha/voltha_voltha
 
-    make -C "$WORKSPACE/voltha-system-tests" ${testTarget} || true
+    make -C "$WORKSPACE/voltha-system-tests" ${testTarget}
     """
 
         getPodsInfo("${logsDir}")
@@ -212,15 +212,15 @@
       # collect logs collected in the Robot Framework StartLogging keyword
       cd ${logsDir}
       gzip *-combined.log || true
-      rm *-combined.log || true
+      rm -f *-combined.log || true
     """
 
     sh """
     if [ ${withMonitoring} = true ] ; then
       cd "$WORKSPACE/voltha-system-tests"
-      source ./vst_venv/bin/activate || true
+      source ./vst_venv/bin/activate
       # Collect memory consumption of voltha pods once all the tests are complete
-      python scripts/mem_consumption.py -o $WORKSPACE/voltha-pods-mem-consumption-${workflow} -a 0.0.0.0:31301 -n ${volthaNamespace} || true
+      python scripts/mem_consumption.py -o $WORKSPACE/voltha-pods-mem-consumption-${workflow} -a 0.0.0.0:31301 -n ${volthaNamespace}
     fi
     """
     } // stage
@@ -232,7 +232,7 @@
 {
   getPodsInfo("$WORKSPACE/${exitStatus}")
   sh """
-  kubectl logs -n voltha -l app.kubernetes.io/part-of=voltha > $WORKSPACE/${exitStatus}/voltha.log || true
+  kubectl logs -n voltha -l app.kubernetes.io/part-of=voltha > $WORKSPACE/${exitStatus}/voltha.log
   """
   archiveArtifacts artifacts: '**/*.log,**/*.gz,**/*.txt,**/*.html,**/voltha-pods-mem-consumption-att/*,**/voltha-pods-mem-consumption-dt/*,**/voltha-pods-mem-consumption-tt/*'
   sh '''
diff --git a/jjb/pipeline/voltha/voltha-2.11/bbsim-tests.groovy b/jjb/pipeline/voltha/voltha-2.11/bbsim-tests.groovy
index daa2bec..c9293fc 100644
--- a/jjb/pipeline/voltha/voltha-2.11/bbsim-tests.groovy
+++ b/jjb/pipeline/voltha/voltha-2.11/bbsim-tests.groovy
@@ -23,7 +23,8 @@
 
 def clusterName = "kind-ci"
 
-def execute_test(testTarget, workflow, testLogging, teardown, testSpecificHelmFlags = "") {
+def execute_test(testTarget, workflow, testLogging, teardown, testSpecificHelmFlags = "")
+{
     def infraNamespace = "default"
     def volthaNamespace = "voltha"
     def logsDir = "$WORKSPACE/${testTarget}"
@@ -48,7 +49,7 @@
 		returnStdout: true,
 		script: cmd)
 	    println(" ** ${cmd}:\n${stream}")
-	    
+
             println("** ${iam}: LEAVE")
 	}
     }
diff --git a/jjb/pipeline/voltha/voltha-2.11/physical-build.groovy b/jjb/pipeline/voltha/voltha-2.11/physical-build.groovy
index b985ed1..1e52f25 100755
--- a/jjb/pipeline/voltha/voltha-2.11/physical-build.groovy
+++ b/jjb/pipeline/voltha/voltha-2.11/physical-build.groovy
@@ -46,7 +46,7 @@
    """
 
     println("** ${iam}: LEAVE")
-    return    
+    return
 }
 
 pipeline {
@@ -428,3 +428,5 @@
     }
   }
 }
+
+// [EOF]
diff --git a/jjb/pipeline/voltha/voltha-2.12/bbsim-tests.groovy b/jjb/pipeline/voltha/voltha-2.12/bbsim-tests.groovy
index d3950ea..ce04a78 100644
--- a/jjb/pipeline/voltha/voltha-2.12/bbsim-tests.groovy
+++ b/jjb/pipeline/voltha/voltha-2.12/bbsim-tests.groovy
@@ -38,7 +38,7 @@
                 'jjb',
                 'pipeline',
                 'voltha',
-                'master',
+                'voltha-2.12',
                 'bbsim-tests.groovy'
             ].join('/')
             println("** ${iam}: ENTER")
@@ -46,7 +46,7 @@
             String cmd = "which pkill"
             def stream = sh(
                 returnStatus:false,
-                returnStdout: true,
+                returnStdout:true,
                 script: cmd)
             println(" ** ${cmd}:\n${stream}")
 
@@ -107,7 +107,10 @@
 
           // if we're downloading a voltha-helm-charts patch, then install from a local copy of the charts
           def localCharts = false
-          if (volthaHelmChartsChange != "" || gerritProject == "voltha-helm-charts") {
+	  if (volthaHelmChartsChange != ""
+	      || gerritProject == "voltha-helm-charts"
+	      || branch != 'master'
+	  ) {
             localCharts = true
           }
 
@@ -202,7 +205,7 @@
     ROBOT_MISC_ARGS+="-v ONOS_SSH_PORT:30115 -v ONOS_REST_PORT:30120 -v NAMESPACE:${volthaNamespace} -v INFRA_NAMESPACE:${infraNamespace} -v container_log_dir:${logsDir} -v logging:${testLogging}"
     export KVSTOREPREFIX=voltha/voltha_voltha
 
-    make -C "$WORKSPACE/voltha-system-tests" ${testTarget} || true
+    make -C "$WORKSPACE/voltha-system-tests" ${testTarget}
     """
 
         getPodsInfo("${logsDir}")
@@ -218,9 +221,9 @@
     sh """
     if [ ${withMonitoring} = true ] ; then
       cd "$WORKSPACE/voltha-system-tests"
-      source ./vst_venv/bin/activate || true
+      source ./vst_venv/bin/activate
       # Collect memory consumption of voltha pods once all the tests are complete
-      python scripts/mem_consumption.py -o $WORKSPACE/voltha-pods-mem-consumption-${workflow} -a 0.0.0.0:31301 -n ${volthaNamespace} || true
+      python scripts/mem_consumption.py -o $WORKSPACE/voltha-pods-mem-consumption-${workflow} -a 0.0.0.0:31301 -n ${volthaNamespace}
     fi
     """
     } // stage
diff --git a/jjb/pipeline/voltha/voltha-2.12/physical-build.groovy b/jjb/pipeline/voltha/voltha-2.12/physical-build.groovy
index 7916679..f216e92 100755
--- a/jjb/pipeline/voltha/voltha-2.12/physical-build.groovy
+++ b/jjb/pipeline/voltha/voltha-2.12/physical-build.groovy
@@ -428,3 +428,5 @@
     }
   }
 }
+
+// [EOF]
