Parallel steps in Bitbucket Pipelines allow you to build and test faster by running a set of steps at the same time. However, if one of parallel steps fails, the rest of the build continues to run, consuming time and build minute costs.
Today, we are announcing a
fail-fast option in Bitbucket Pipelines, which will immediately stop all running parallel steps as soon as any step fails.
Here's an example of how to use it:
pipelines: default: - step: name: Build script: - ./build.sh - parallel: # configure parallel steps # to stop all running steps on failure fail-fast: true steps: - step: name: Integration 1 script: - ./integration-tests.sh --batch 1 - step: name: Integration 2 script: - ./integration-tests.sh --batch 2 - step: script: - ./deploy.sh
In the example above, adding the
fail-fast: true attribute to the parallel group will cause all running parallel steps to be stopped if any of the tests batch failed.
fail-fast attribute can be defined just for some steps:
pipelines: default: - step: name: Build script: - ./build.sh - parallel: steps: - step: fail-fast: true name: Integration tests script: - ./integration-tests.sh - step: fail-fast: true name: Integration tests script: - ./integration-tests.sh # the step failure won't stop pipeline - step: name: Send build metrics script: - ./send-metrics.sh - step: script: - ./deploy.sh
Additional documentation on using parallel steps here. We hope you and your team find this extra flexibility helpful!