Retry mechanism on tasks

Description of the feature request

Give the opportunity to the user to choose an attempt count to a step so that if the step fails it can be re-tried up-to this maximum.
This is especially useful for specific tasks, like tasks that rely on 3rd-party platforms that cannot ensure 100% reliability.

Use case / for what or how I would use it

Initial request: Stability issues 路 Issue #39 路 bitrise-steplib/steps-virtual-device-testing-for-android 路 GitHub
When using Virtual-Device-Testing for Android we鈥檝e noticed that sometimes the 3rd-party platform that provides Android devices doesn鈥檛 work as expected. Google is working on it, but Bitrise should be able to provide a mechanism to avoid this kind of issues to block builds.

As an alternative, maybe just consider a way to mark the build as Ignored instead of Failed?
(Something to distinguish builds that didn鈥檛 run as expected due to the step itself, from builds that have run as expected but the result is failing due to broken tests for example.)

Thanks for the feature request, this is a work in progress already :upside_down_face:

Great to hear that! And thanks for the super-quick feedback :grinning:

Is it related to this ticket: Option to Auto Retry/Rebuild When Build Fails

My initial idea was more step-retry than build-retry but build-retry could work for me鈥 if it can handle the difference between test failure and step failure. (And if it can, my ticket is irrelevant and can be closed.)

1 Like

No problem, I鈥檓 not really sure on the process of this but I see it being implemented on different steps in the past weeks.

any progress about this feature request?

Any progress?