Conda-forge.github.io: Add mergify bot to the organization

Created on 20 Oct 2018  路  16Comments  路  Source: conda-forge/conda-forge.github.io

https://mergify.io/ is a new web service that automatically merges PRs after CIs are green.

Given the very, very long queues in conda-forge (especially in Appveyor), I think it'd be really handy to add this service to the organization. Else, we have to remember to manually merge PRs for two days or more, and sometimes we forget to do it (it's happened to me a couple of times).

All 16 comments

How does it work? Does it just merge passing things or do you tell it in advance to merge once it passes?

I think it merges things that match a certain criteria (eg passing ci and the PR is from a trusted source). I think this could be an interesting approach, although there are some issues we could run into with this (looking at you ruamel_yaml). Maybe this could be an opt in thing? There may be other ways to help mitigate these issues as well.

Attn: @mariusvniekerk

I haven't used yet but it seems interesting and I just wanted to bring it to your attention.

Yeah, there's a full config file that one adds per repo with various user specified constraints. We could have conda-smithy generate some accepted form of this file.

One can add constraints like requiring reviews and CIs to pass for example. Could also limit these to bot PRs for instance. We'd have to think about what settings we are comfortable with.

It might be good to start out with a small set of packages via an opt in. Not updating the requirements could be an issue with auto-merging (esp if the import tests don't hit everything).

I don't think we should merge automatically, but go for a gitlab style of enabling an automatic merge. For eg: a maintainer can add a merge label to the PR after reviewing it and when the tests pass, the bot will merge.

I don't think we should merge automatically

No, not automatically but with a label (as you said) or an approval of at least one of the maintainers.

I think the point is there are lots of options to affect the kind of constraints we are discussing. So it should be doable. Thanks for raising to our attention @ccordoba12.

On a different note, this repo is at a bare minimum dormant. Should we move this issue to somewhere with higher visibility like the webpage repo? Fortunately GitHub has a beta feature that should let us do this and retain history; so, shouldn't be difficult if it is agreeable.

No objections so I think we can move this.

My biggest question is logistical. How do we register all our current and future feedstocks with mergify?

There's an option to register all current and future feedstocks.

There's also https://github.com/phstc/probot-merge-when-green which doesn't require a configuration file per repo

Hmm maybe they'll support Azure soon?
Edit: (and to be fair we are very good a provisioning repos with configuration files :smile: )

Does mergify support github checks? Circleci and Appveyor only support statuses and Azure supports only checks. (Travis supports both)

I think it's not hard to write our own script in conda-forge-webservice to do this.

The github actions give us a nice way to do this now. We have an open issue to make it work off of automerge labels and it works now for bot updates.

This works off automerge labels now. Just add an automerge label to the feedstock PR and a bot will merge it once CI passes.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jakirkham picture jakirkham  路  5Comments

basnijholt picture basnijholt  路  4Comments

jakirkham picture jakirkham  路  5Comments

prachi237 picture prachi237  路  5Comments

bulli92 picture bulli92  路  4Comments