HNHacker News
TopNewBestAskShowJobs

jd__

60 karma · joined September 3, 2013

submissionscomments
jd__··on The origin story of merge queues
FWIW, Mergify's Merge Queue supports this as long as you run it without batching or parallel checks. We expose a config option for semi-linear history while still keeping CI green.
jd__··on The origin story of merge queues
That's super interesting, thanks for sharing the Yelp/PayPal lineage. You're right: there's probably a lot of prior art in internal release engineering systems that never got much written up publicly.

The angle we took in the blog post focused on what was widely documented and accessible to the community (open-source tools like Bors, Homu, Bulldozer, Zuul, etc.), because those left a public footprint that other teams could adopt or build on.

It's a great reminder that many companies were solving the "keep main green" problem in parallel (some with pretty sophisticated tooling), even if it didn't make it into OSS or blog posts at the time.

jd__··on The origin story of merge queues
That's a good point. To clarify, Gerrit itself didn't actually do merge queuing or CI gating. Its model was stacked commits: every change was rebased on top of the current tip of main before landing. That ensured a linear history but didn't solve the "Is the whole pipeline still green when we merge this?" problem.

That's why the OpenStack community built Zuul on top of Gerrit: it added a real gating system that could speculatively test multiple commits in a queue and only merge them if CI passed together. In other words, Zuul was Gerrit's version of a merge queue.

jd__··on What I Learned Building My First Jenkins Plugin
I always expect that the shoemaker's children go barefoot.
jd__··on Ask HN: What's the one feature you'd want in a GitHub productivity tool?
Why's that?
jd__··on Pull request merge queue (public beta)
Best way is to batch your PRs in a single CI run. That saves CI time and increase your throughput.

It does not seem GitHub merge queue supports this, but some merge queues do support this.

(Julien from Mergify)

jd__··on Pull request merge queue (public beta)
Rather 1/5th of Mergify, and still in beta, but that's the spirit yes. :)

(Julien from Mergify)

jd__··on Ask HN: How are pull requests integrated in a repo with high commit frequency?
We know Uber has some great internal tooling (there's even a paper published on their merge queue: https://eng.uber.com/research/keeping-master-green-at-scale/). We had various Uber engineers using Mergify on open source repositories those last years. I didn't check recently if that was still the case, I'll make sure our lis is not too much outdated.

I definitely agree with your view on how pipelines can be different. I think none of our customers has something that is exactly the same. However, many of them don't have the workforce to build in house or even to optimize as far as you would do in a (very) large company.

jd__··on Ask HN: How are pull requests integrated in a repo with high commit frequency?
I'd be curious to know what you find limited in off-the-shelf solutions?

(disclaimer: I'm from the Mergify team )

jd__··on Show HN: Mergify – An automation platform for GitHub pull requests
We were using Gerrit and Zuul.

We move to GitHub to have a lower barrier of entry for new contributors.

jd__··on Show HN: Mergify – An automation platform for GitHub pull requests
Fixed, thanks a lot!
jd__··on Show HN: Mergify – An automation platform for GitHub pull requests
Thanks!

It does support all the merging feature that GitHub provides. There are features request already to support even more merge methods. :)

jd__··on Show HN: Mergify – An automation platform for GitHub pull requests
A few months ago, we moved a project to GitHub and missed the automation we used to have on the old platform. For example, we like to merge pull requests automatically when the CI passes and the code has been reviewed and approved.

That's why we started Mergify!

Now, it has a few more features to help automating workflows around pull requests, such as the ability to backport pull request to maintenance branches, delete merged branches, etc.

Feel free to try it out and let us know what you think!