                     (wait-for-step-to-complete)
                     (wait-for-pipeline-state-to-have-seen-commit "master" "other commit")
                     (git-commit "commit while not waiting")
-                    (start-wait-for-git-step)
+                    (start-wait-for-git-step :wait false)
                     (get-step-result))]
       (is (= :success (:status (step-result state))))
       (is (= (commit-hash-by-msg state "other commit") (:old-revision (step-result state))))

    (async/pipe step-result-updates-ch only-status-updates)
    only-status-updates))

(defn- init-state []
  (let [is-killed (atom false)
        ctx (some-ctx-with :is-killed is-killed)


(defn wait-for-step-waiting [state]
  (let [step-status-ch (:step-status-channel @state)
        result         (read-channel-or-time-out
                         (async/go
                           (loop []
                             (let [status (async/<! step-status-ch)]
                               (if (not= :waiting status)
                                 (recur)
                                 nil)))))]
    (when (instance? Exception result)
      (throw result)))
  state)

(defn execute-pipeline-step [state step]
  (clear-channel (:step-status-channel @state))
  (let [future (future
                 (let [execute-step-result (lambdacd-core/execute-step {} (:ctx @state)
                                                                       step)]
