Hi,
I have a long running workflow that takes 1.5-2 hours and sometimes fails almost at its end on one of the jobs due to flaky tests. This job, say X
has dependencies on jobs A
and B
.
When X
fails the workflow, I can restart the workflow again and wait long hours to know the outcome but obviously I want to iterate faster and don’t want to wait too long.
CircleCI gives the ability to restart workflow from the failed jobs and so it will re-run X
if I use this option. The problem is that X
has a resource dependency on B
because B
creates kubernetes cluster or something. When the workflow completes (or fails), it cleans up all resources and so next time I re-run from failed, i.e. only X
, there will be no resources that X
depends on and it will fail.
I need to be able to re-run both B
and X
when X
fails. The problem is that B
succeeds and CircleCI will not re-run it if I choose to rerun from failed. Is there a way to restart only succeeding job B
and failing job X
without re-running the whole workflow?
Probably, the workflow should be re-engineered in some way so that resources creation for X
is part of X
but as I’m new to CircleCI, I’m wondering is there a more lightweight approach.
Thanks,
Misha