Pipeline run status doesn't terminate to `failed` or similar when there is an error

Hello,

I'm integrating with the pipeline API, and it seems like pipeline runs don't go to a final state assigned when they error out. I’ve created and queried a couple of errored out runs and they all have a status block like this:

"state":
{
"changed": "2024-08-21T04:07:43.786Z",
"error":
{
"message": "could not find cycle.json in repo"
},
"current": "running"
},

Note that current is still running eventhough the run ended hours ago with a pretty permanent error. I would expect the current status to be something like failed, so I can pick it up and determine the run is done (and cooked).

Thomas van der Pol...

    Hey Thomas,

    This is correct behavior. :)

    In Cycle, nothing will ever get a state of 'error' except for jobs themselves. To check whether something is 'broken', you’ll check to see if state.error exists. The idea is that: if we change the state to “error”, we don’t actually know what state a resource was in when it encountered an error. So instead, we lock the state at the time of the error and set the error variable to the error in question.

    That said, errors not transient. If you re-run a task (restart, stop, etc) on a resource that is error'd, the error state will be reset before the new task is run. If the error state is set again after the task, you know that the task failed again.

    Hope this helps!

    Jake Warner...

Join the conversation

Sign in with your Cycle account to reply to this thread.

v2026.06.11.01 · © 2026 Petrichor Holdings, Inc.
Cookies

Cookies Preferences

We run basic, anonymous analytics by default to measure site traffic. By clicking "Accept," you allow additional cookies for advanced app improvements and tailored advertising. Choose what you share by clicking "Customize."