Circleci currently provides us with limited build resources on macOS at 1x concurrency. Builds are triggered for every commit in a pull request. If there are lots of commits, the build queue gets congested (and will eventually reach the monthly limit in execution time). Generally, we want every commit to be tested, but sometimes new commits are pushed to a branch and we don't necessarily need to run ci on the previous ones.
This is relevant for example in #7528 which received 20 commits within a few minutes which really shouldn't be individual commits and certainly they don't need all to be tested on CI (I suppose this high number of commits is related to applying githubs patch suggestion feature).
These many commits have clogged the macOS build queue for hours which means we have to wait long to get results for relevant CI builds.
The solution to this problem is to cancel builds of outdated commits when a new one is pushed to the same branch. Circleci provides an auto-cancelling feature for this, and it's activated in the repo settings. But it doesn't work as expected. From the docs it seems we also need to enable build processing. Enabling Build Processing (preview) is currently off, Auto-cancel redundant builds is on.
@straight-shoota you are right about the suggest feature. These should not have been individual commits but because of github permissions, I was unable to batch them :( Also, thank you to the people who post suggestions on PRs.
@straight-shoota good catch! I've just enabled Enabling Build Processing. Let's see if helps to reduce the load a bit.
Now I've to find other PRs to propose dozen of patch suggestions to test if this works... :smile:
code review for the win :)
@wontruefree In the diff view there is a button Add suggestion to batch which allows applying several suggestions in a single commit.
that button works for other projects on github including my work but it was greyed out and un-clickable on the PR. I don't know why.
It seems the most severe congestion has stopped. The darwin queue still has a long wait time, but that's another story.
Most helpful comment
Now I've to find other PRs to propose dozen of patch suggestions to test if this works... :smile: