May 10, 2022 1:38 PM, "Mark Wielaard" <m...@klomp.org> wrote:
> On Tue, 2022-05-10 at 11:00 +0000, builder--- via Gcc-rust wrote: > >> A new failure has been detected on builder gccrust-debian-i386 while >> building gccrust. >> >> Full details are available at: >> https://builder.sourceware.org/buildbot/#builders/27/builds/98 > > Just when we were all green :{ > > It isn't clear to me what bors is doing though. It seems to just throw > in commits randomly and then tries to fix things up with a merge > commit. > > Is there any way to make bors not do that? It makes the buildbot > unhappy and makes bisecting commits really hard. > > Ideally all commits are done on top of the tree without these odd merge > commits. So do a simple rebase first, then commit/push. > I don't think that's possible. I recall reading that bors-ng handles it this way and you can't change this behavior. It tests everything waiting in the queue and only split this if tests are KO: https://github.com/bors-ng/bors-ng " As commits are reviewed, bors lumps them into a queue of batches. If everything passes, there will just be two batches; the one that's running, and the one that's waiting to be run (and is accumulating more and more pull requests until it gets a chance to run). To run a batch, bors creates a merge commit, merging the main branch with all the pull requests that make up the batch. Instead of pushing the merge commit immediately, however, it will instead push it to the staging branch. They'll look like this: Merge #5 #7 #8 5: Rename `bifurcate()` to `bifurcateCrab()` 7: Call `bifurcate()` in the `onland` event handler 8: Fix crash in `drive()` If the build passes, the main branch gets fast-forwarded to meet the staging branch. Since the main branch contains the exact contents that were just tested, bit-for-bit, it's not broken. (at least, not in any way that the automated tests are able to detect) If the build fails, bors will follow a strategy called "bisecting". Namely, it splits the batch into two batches, and pushes those to the queue. In this example, the first batch will look like this: ... " :( Marc -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust