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.
Also, 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!
Happy coding!