
Simon Peyton Jones via ghc-devs
Ben
Six days ago I submitted this MR https://gitlab.haskell.org/ghc/ghc/merge_requests/109 Just tiny refactorings. I said "merge when validated" But six days later, it still appears not to have merged. What's up? I was expecting it to merge in a matter of an hour or two.
Indeed this is a known issue that I have been working [1] with upstream to resolve. A fix, which looks similar to the plan you propse, is milestoned for the May release. In the meantime I have been handling merging manually as I did under Phabricator: batch up mergeable MRs into a merge branch, push the merge branch for CI, and merge it after it validates. Marge bot [2], mentioned by Evan, is another workaround for this issue.However, my understanding is that it is unnecessarily serial which I feared may slow the rate of merge. We could consider using it until a proper upstream solution arrives, however. In general I agree with Matthew that we should try very hard to avoid ever merging broken code; the cost of bad patches is extremely high. The solution that GitLab is looking to implement maintains a stack of MRs to be merged, optimistically assuming that all will pass CI. When a new MR is requested to be merged it is rebased onto the end of the stack and CI jobs are started. This allows it to avoid testing commits serially. If an MR low in the stack fails then it is dropped from the stack, all MRs above it are rebased, and retested. Cheers, - Ben [1] https://gitlab.com/gitlab-org/gitlab-ee/issues/9186 [2] https://github.com/smarkets/marge-bot