           interpreter (or (:interpreter params) defaul-system-interpreter)
           script-file (prepare-script-file (:body params))  
           command (conj interpreter (.getAbsolutePath script-file))
-          exec-promise (commons-exec/sh command 
-                                        {:env (conj {} (System/getenv) env-variables)
-                                         :dir working-dir  
-                                         :watchdog watchdog})]
+          exec-promise (commons-exec-sh command env-variables working-dir timeout) ]
       (conj params 
             started 
             {:finished_at (time/now)

          interpreter (or (:interpreter params) defaul-system-interpreter)
          script-file (prepare-script-file (:body params))  
          command (conj interpreter (.getAbsolutePath script-file))
          exec-res (deref (commons-exec/sh command 
                                           {:env (conj {} (System/getenv) env-variables)
                                            :dir working-dir  
                                            :watchdog (* 1000 timeout)}))]
      (conj params 
            started 
            {:finished_at (time/now)

(def defaul-system-interpreter
  (condp = (clojure.string/lower-case (System/getProperty "os.name"))
    "windows" ["cmd.exe" "/c"]
    ["bash"  "--login" ]))

(defn prepare-script-file [script]
  (let [script-file (File/createTempFile "cider-ci_", ".script")]
