diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 88bcce35d7cefa3e9fa518000290ea03b5023915..fcca6c0de223b1794000d339e7007863942a6378 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -353,10 +353,14 @@ conda-linux-build:
   extends: .common
   stage: build
   only:
-    - develop@orfeotoolbox/otb
-    - /^release-[0-9]+\.[0-9]+$/@orfeotoolbox/otb
+    - develop
+    - /^release-[0-9]+\.[0-9]+$/
+  #  - develop@orfeotoolbox/otb
+  #  - /^release-[0-9]+\.[0-9]+$/@orfeotoolbox/otb
   image: $BUILD_IMAGE_REGISTRY/otb-conda-build:latest
   allow_failure: true
+  before_script:
+    - export CI_SKIP_CDASH=1
   script:
     - export otb_tag=${CI_COMMIT_TAG:-$CI_COMMIT_SHORT_SHA}
     - ./CI/conda_build.sh
diff --git a/CI/cdash_handler.py b/CI/cdash_handler.py
index b890fa42d63c4f293a66683c5bce0c1c39ebc417..79b70468dcf61d255cee52a59b4555ef0ae29cde 100644
--- a/CI/cdash_handler.py
+++ b/CI/cdash_handler.py
@@ -44,6 +44,9 @@ def CheckEnvParameters(params, verbose=True):
       return False
   return True
 
+class CDashException(Exception):
+  pass
+
 """
 Handler class to retrieve build informations
 """
@@ -78,8 +81,7 @@ class Handler:
         print ( configure_xml )
       self.configure_path = configure_xml
       return self.configure_path
-    print("Could not find the Configure.xml produced by ctest")
-    sys.exit(1)
+    raise CDashException("Could not find the Configure.xml produced by ctest")
 
   def ParseConfigureFile(self):
     """
@@ -98,21 +100,18 @@ class Handler:
     if trace:
       print( root.attrib )
     if not 'Name' in root.keys():
-      print("Can't find site name in Configure.XML")
-      sys.exit(1)
+      raise CDashException("Can't find site name in Configure.XML")
     if not 'BuildName' in root.keys():
-      print("Can't find build name in Configure.XML")
-      sys.exit(1)
+      raise CDashException("Can't find build name in Configure.XML")
     if not 'BuildStamp' in root.keys():
-      print("Can't find build stamp in Configure.XML")
-      sys.exit(1)
+      raise CDashException("Can't find build stamp in Configure.XML")
     self.site = root.get('Name')
     self.name = root.get('BuildName')
     self.stamp = root.get('BuildStamp')
 
   def GetBuildId (self, **kwargs):
     """
-    This function is returning the buildid. Dict can be passed with the 
+    This function is returning the buildid. Dict can be passed with the
     different informations
     """
     site = self.site
@@ -129,8 +128,7 @@ class Handler:
       if key == "project":
         project = value
     if ( site == "" or stamp == "" or name == "" or project == ""):
-      print( "Missing argument for buildid request site:"+site+", stamp:"+stamp+", name:"+name+", project:"+project+".")
-      sys.exit(1)
+      raise CDashException("Missing argument for buildid request site:"+site+", stamp:"+stamp+", name:"+name+", project:"+project+".")
     elif trace:
       print( "Argument for buildid request site:"+site+", stamp:"+stamp+", name:"+name+", project:"+project+".")
     buildid_api = "/api/v1/getbuildid.php?"
@@ -157,8 +155,7 @@ class Handler:
         print ( "build id is ", self.buildid)
       return buildid.group(1)
     else:
-      print("Error in recovering buildid")
-      sys.exit(1)
+      raise CDashException("Error in recovering buildid")
 
   def GetBuildUrl (self , buildid = "" ):
     """
@@ -247,6 +244,9 @@ if __name__ == "__main__":
     print("Usage : "+sys.argv[0]+" commit_sha1 project_id project_directory token ref_name")
     sys.exit(1)
 
+  if os.environ.get('CI_SKIP_CDASH', False):
+    sys.exit(0)
+
   allow_failure = os.environ.get('CI_ALLOW_FAILURE', False)
 
   if ( len(sys.argv) >= 6):
@@ -275,23 +275,28 @@ if __name__ == "__main__":
   if trace:
     print("build_dir is: " + build_dir)
   handler.build_dir = build_dir
-  handler.GetConfigureFile()
-  handler.ParseConfigureFile()
-  if handler.GetBuildId() is None:
-    cdash_url = "https://cdash.orfeo-toolbox.org"
-    state = 'failed'
-    error = "Failed to get build id"
-  else:
-    cdash_url = handler.GetBuildUrl()
-    ( state , error ) = handler.GetLogStatus( os.path.join( pdir , "log") )
-  print("CDash build URL : "+cdash_url)
-  if token is None:
-    sys.exit(0)
-  gitlab_url = "https://gitlab.orfeo-toolbox.org/api/v4/projects/"
-  gitlab_url += proj + "/statuses/" + sha1
 
-  if allow_failure:
-    state = 'success'
+  try:
+    handler.GetConfigureFile()
+    handler.ParseConfigureFile()
+    if handler.GetBuildId() is None:
+      cdash_url = "https://cdash.orfeo-toolbox.org"
+      state = 'failed'
+      error = "Failed to get build id"
+    else:
+      cdash_url = handler.GetBuildUrl()
+      ( state , error ) = handler.GetLogStatus( os.path.join( pdir , "log") )
+    print("CDash build URL : "+cdash_url)
+    if token is None:
+      sys.exit(0)
+    gitlab_url = "https://gitlab.orfeo-toolbox.org/api/v4/projects/"
+    gitlab_url += proj + "/statuses/" + sha1
+  except CDashException as e:
+    if allow_failure:
+      state = 'success'
+    else:
+      print(e)
+      sys.exit(1)
 
   params = urllib.parse.urlencode({'name':'cdash:' + handler.site , 'state': state ,\
    'target_url' : cdash_url , 'description' : error , 'ref' : refn })
diff --git a/CI/conda_build.sh b/CI/conda_build.sh
old mode 100644
new mode 100755