Is it possible to skip/update activity state upon failure when workflow is retried?

Is there a way to ignore failed activity when retrying a workflow by updating the datastore or via signals?

Use case:
I am evaluating cadence for our deployment workflow. Basic idea is to deploy and run health checks in x% of machine at a time and see if health check succeeds in y%. I am thinking of writing a DSL workflow to achieve the same. But because of network failures, host being down health check can fail in some of the machines and I wanted to ignore activity failures upon manually validating the failures. is there a way to persist activity state, update/ ignore activity failures in run time? One way I can think is sending signal to workflow and using that info to skip failures at runtime during retry. will that work or is there a better way to handle this scenario?

I am thinking of writing a DSL workflow to achieve the same.

I don’t understand why introducing DSL helps in this specific use case. I believe writing it in Go code makes more sense.

is there a way to persist activity state, update/ ignore activity failures in run time?

All variables in the workflow are always persisted. So no need to use any external persistence.

One way I can think is sending signal to workflow and using that info to skip failures at runtime during retry. will that work or is there a better way to handle this scenario?

Yes, a signal is the best way to implement manual confirmation.

is there a way to store some additional metadata like machines deployed as part of activity and restore it as well?

All data should be part of the workflow and can be passed to activities through arguments.