Fast Failing: Introducing Faster Feedback on Failing Builds
Fast feedback on the work we've done minimizes developer context switching and keeps us in the state of flow. Waiting for all the jobs to finish in order to see that a job has failed can waste a lot of time. If a job fails, the developer should have the option to be notified right away, rather than wait until all the tests are run.
In order to make you more productive when building on Semaphore, we bring you fast failing as a feature.
The fast failing approach
On Semaphore, fast failing means that the developers get instant feedback when a job fails. All the running jobs of a build are stopped as soon as one of the jobs fails. This means that you don't need to wait for all the other jobs to finish in order to get build feedback.
For example, if a build takes 10 minutes, the fast failing approach gives you feedback in 1 minute, and fixing issues takes 1 minute, the entire process along with re-building takes 12 minutes in total. With the approach that does not allow fast failing, the entire process would take 21 minutes.
The fast failing approach also minimizes developer context switch due to faster feedback cycles.
How to enable fast failing on Semaphore
You can select the type of fast failing in the branch settings of your project. You can either enable it for all branches, or for all branches except the default one.
Happy fast failing!