I've been enforcing every commit to both build and pass tests, but now I might only require each commit to build and each merge request to pass tests.
In that case, you can have a merge request with a commit to add a test and then another commit to fix it. As long as both commits build, bisect will still work.
I agree with having CI enforce both passing tests and working builds, but why would you want the build step to require passing tests?