Why We Did It

Recently, we at Mohami have made the decision to stop checking whether a pull request has conflicts before notifying Jenkins. We did this because it was starting to have significant performance implications for Bitbucket.

The merge check was added early in the WFB's development, before Mohami took over the maintenance of the application. Over the years, Bitbucket's design and structure has changed, which has made checking for whether a pull request can be merged more expensive. On smaller instances of Bitbucket, this doesn't make that big of an impact but on large instances where thousands a pull requests can be updated in an hour, this becomes an expensive operation, and can cause operational strain on Bitbucket.

We decided it didn't make sense to make this check for every pull request, where only 3% of them might actually end up having conflicts. So we've removed the check entirely.

What This Means

What this means is that if your Jenkins instance is configured to build pull request artifacts, you might end up attempting to build an artifact that won't build correctly.