In Settings, there is a feature called: ROLLING BUILDS, described as “Auto-cancel on-hold builds if a new build is triggered on the same branch”
There’s a couple other options that can also be enabled:
Pull Requests Will cancel all previous builds for Pull Requests and all related Pushes
Pushes Will cancel all previous builds for Pushes to the same branch
Running builds Will also auto-cancel running builds in addition to on-hold ones
The problem I’m hitting into is that it’s cancelling builds of different workflows.
e.g. we have unit_test automatically kick off whenever someone pushes to develop
When this happens, any build that is targeting develop will be canceled, even if it’s a different workflow (e.g. ui_automation)
Is there a way to configure this so that it only cancels other builds of the same workflow?
The trigger map currently can only trigger one workflow for a specific branch. Even if you set up two separate triggers for the develop branch, Bitrise will only care about the one you specified first (top of the list).
Can you please share a bit more info about your trigger map structure or config in general? Are you triggering builds from inside your workflow with the build trigger API?
Here’s how my project is set up. Under Triggers, I have:
Push branch develop --> Workflow: unit_test
I also have several workflows that I’ve scheduled to run nightly against develop
acceptance_test_1
acceptance_test_2
acceptance_test_3
acceptance_test_4
acceptance_test_5
With rolling builds enabled, what I’m seeing when I push a new commit to develop is that it will schedule the unit_test workflow, but cancel any acceptance test that is on hold because they’re also targeting develop.
Hey folks, I’m closing this thread as this has been implemented for a while, the current behavior of Rolling Builds is that it will cancel build for the same branch and workflow combination.