Auto Cancel Builds on Default Branch


#1

The new auto-cancel feature is great but it doesn’t apply to our default branch.

This still creates a big buildup, as we tend to merge a bunch of PRs right before a deploy. Removing this restriction (or providing the option to toggle it) would be incredibly helpful.


#2

Thank you for this feature request. The reason it is set this way is because many people choose to deploy from the default branch. Cancelling builds mid-deploy can be bad, hence this setting.

We are considering UI options to make this more flexible. Some ideas would be:

  • enable whitelisting or blacklisting of branches related to this setting
  • allow auto-canceling of all branches as an option - with a warning about deployment implications
  • auto-detect if the branch has a deploy action associated with it and then don’t auto-cancel on that branch

Any suggestions or feedback on how best to implement this gratefully received :slight_smile:


#3

Thanks for the reply @tom. Some thoughts:

  • Whitelisting/blacklisting similar to white/blacklisting elsewhere on circle would be most ideal, since this allows a pretty high level of control.
  • Just giving a warning seems like the quickest option, but I can see how it would get more gripes from other customers, since in the end the best thing for everyone is probably having a level of granularity to this setting.
  • Auto-detection: honestly this seems like it would be a bit overkill, and would still be 90% solved by having manual controls

So, imo, manual controls seem best in the long run. The second option is probably the quickest to implement in the interim, but it could have enough downsides that I can understand if it’s just not worth it.


#4

I too would like this to apply to the default branch, but specifically because we have a deploy action associated with it. The deploy is slow and multiple builds are often racing with each other and we occasionally get an older build that finishes after a newer one, leaving us with older code deployed. (This is only for a staging environment deploy in our case though.)

Thanks!

Update If anyone else wants this functionality, please upvote here: https://circleci.com/ideas/?idea=CCI-I-214


#5