New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from Homu to Bors mergebots #6703

Merged
merged 4 commits into from Sep 19, 2018

Conversation

Projects
None yet
5 participants
@indirect
Member

indirect commented Sep 19, 2018

What was the end-user problem that led to this PR?

Our existing @bundlerbot mergebot is run by bundlerbot-homu, which is a fork of japaric/homu-on-heroku, which is a fork of servo/homu, which is a fork of barosl/homu. Sadly, most of those forks are now unmaintained, including ours. Also, Homu sets up a list of users who are allowed to approve PRs with a list in a file on an env var, when it probably should just read the list of github users that have the permission to merge.

So the end-user problem is: unmaintained mergebot, very inconvenient to update team members.

What was your diagnosis of the problem?

My diagnosis is that we should migrate from a Homu-based mergebot to a bors-ng-based mergebot. Bors-ng lives at bors-ng/bors-ng, and has a website at bors.tech. Bors-ng is actively maintained, easy to deploy to Heroku, doesn't lose repo and PR state when the webapp is restarted, and uses GitHub permissions to determine who can approve PRs for merging.

What is your fix for the problem, implemented in this PR?

My fix for this problem was to fork bors-ng to the @bundler organization, modify bors-ng to respond to @bundlerbot r+ instead of responding to bors r+, and change the configuration files below to support using bors instead of homu.

The bors-ng repo has already accepted our patch, and we maybe don't even need to keep the forked repo anymore.

The new mergebot lives at https://bundlerbot-bors.herokuapp.com, and has the exact same issue-comment interface as the previous mergebot.

Why did you choose this fix out of the possible options?

I chose this fix because it lets us keep the exact same mergebot interface that we have today, while easing the maintenance burden both on updating end-user permissions and on updating the app over time, since we can simply pull and deploy the latest from bors-ng/bors-ng without maintaining our own specialized fork.

@indirect indirect self-assigned this Sep 19, 2018

@indirect indirect requested a review from bundler/maintainers Sep 19, 2018

@colby-swandale

This comment has been minimized.

Member

colby-swandale commented Sep 19, 2018

Great work! This is help us sooooo much 👏

@bundlerbot r+

@bundlerbot-bors

This comment has been minimized.

bundlerbot-bors bot commented Sep 19, 2018

Configuration problem

bors.toml: syntax error

@indirect

This comment has been minimized.

Member

indirect commented Sep 19, 2018

lol oh no, my bad 😬 fixing now

@indirect

This comment has been minimized.

Member

indirect commented Sep 19, 2018

@bundlerbot r=colby-swandale

@bundlerbot-bors

This comment has been minimized.

bundlerbot-bors bot commented Sep 19, 2018

Configuration problem

bors.toml: does not specify anything to gate on

@indirect

This comment has been minimized.

Member

indirect commented Sep 19, 2018

okay, progress! I'll tell it to use travis, I guess.

@indirect

This comment has been minimized.

Member

indirect commented Sep 19, 2018

@bundlerbot r=colby-swandale

bundlerbot-bors bot pushed a commit that referenced this pull request Sep 19, 2018

Merge #6703
6703: Switch from Homu to Bors mergebots r=colby-swandale a=indirect

### What was the end-user problem that led to this PR?

Our existing @bundlerbot mergebot is run by [bundlerbot-homu](https://github.com/bundler/bundlerbot-homu), which is a fork of japaric/homu-on-heroku, which is a fork of servo/homu, which is a fork of barosl/homu. Sadly, most of those forks are now unmaintained, including ours. Also, Homu sets up a list of users who are allowed to approve PRs with a list in a file on an env var, when it probably should just read the list of github users that have the permission to merge.

So the end-user problem is: unmaintained mergebot, very inconvenient to update team members.

### What was your diagnosis of the problem?

My diagnosis is that we should migrate from a Homu-based mergebot to a bors-ng-based mergebot. Bors-ng lives at [bors-ng/bors-ng](https://github.com/bors-ng/bors-ng), and has a website at [bors.tech](https://bors.tech). Bors-ng is actively maintained, easy to deploy to Heroku, doesn't lose repo and PR state when the webapp is restarted, and uses GitHub permissions to determine who can approve PRs for merging.

### What is your fix for the problem, implemented in this PR?

My fix for this problem was to fork bors-ng to the @bundler organization, modify bors-ng to respond to `@bundlerbot r+` instead of responding to `bors r+`, and change the configuration files below to support using bors instead of homu.

The bors-ng repo has already accepted our patch, and we maybe don't even need to keep the forked repo anymore.

The new mergebot lives at https://bundlerbot-bors.herokuapp.com, and has the exact same issue-comment interface as the previous mergebot.

### Why did you choose this fix out of the possible options?

I chose this fix because it lets us keep the exact same mergebot interface that we have today, while easing the maintenance burden both on updating end-user permissions and on updating the app over time, since we can simply pull and deploy the latest from `bors-ng/bors-ng` without maintaining our own specialized fork.

Co-authored-by: Andre Arko <andre@arko.net>
@deivid-rodriguez

This comment has been minimized.

Contributor

deivid-rodriguez commented Sep 19, 2018

This time it looks promising!

@bundlerbot-bors

This comment has been minimized.

bundlerbot-bors bot commented Sep 19, 2018

Timed out

@indirect

This comment has been minimized.

Member

indirect commented Sep 19, 2018

aha! the build finished 40 minutes ago, but bors had a build timeout that ran out an hour ago. I will increase the amount of time bors is willing to wait to hear back from travis. :)

@indirect

This comment has been minimized.

Member

indirect commented Sep 19, 2018

@bundlerbot r=colby-swandale

bundlerbot-bors bot pushed a commit that referenced this pull request Sep 19, 2018

Merge #6703
6703: Switch from Homu to Bors mergebots r=colby-swandale a=indirect

### What was the end-user problem that led to this PR?

Our existing @bundlerbot mergebot is run by [bundlerbot-homu](https://github.com/bundler/bundlerbot-homu), which is a fork of japaric/homu-on-heroku, which is a fork of servo/homu, which is a fork of barosl/homu. Sadly, most of those forks are now unmaintained, including ours. Also, Homu sets up a list of users who are allowed to approve PRs with a list in a file on an env var, when it probably should just read the list of github users that have the permission to merge.

So the end-user problem is: unmaintained mergebot, very inconvenient to update team members.

### What was your diagnosis of the problem?

My diagnosis is that we should migrate from a Homu-based mergebot to a bors-ng-based mergebot. Bors-ng lives at [bors-ng/bors-ng](https://github.com/bors-ng/bors-ng), and has a website at [bors.tech](https://bors.tech). Bors-ng is actively maintained, easy to deploy to Heroku, doesn't lose repo and PR state when the webapp is restarted, and uses GitHub permissions to determine who can approve PRs for merging.

### What is your fix for the problem, implemented in this PR?

My fix for this problem was to fork bors-ng to the @bundler organization, modify bors-ng to respond to `@bundlerbot r+` instead of responding to `bors r+`, and change the configuration files below to support using bors instead of homu.

The bors-ng repo has already accepted our patch, and we maybe don't even need to keep the forked repo anymore.

The new mergebot lives at https://bundlerbot-bors.herokuapp.com, and has the exact same issue-comment interface as the previous mergebot.

### Why did you choose this fix out of the possible options?

I chose this fix because it lets us keep the exact same mergebot interface that we have today, while easing the maintenance burden both on updating end-user permissions and on updating the app over time, since we can simply pull and deploy the latest from `bors-ng/bors-ng` without maintaining our own specialized fork.

Co-authored-by: Andre Arko <andre@arko.net>
@bundlerbot-bors

This comment has been minimized.

bundlerbot-bors bot commented Sep 19, 2018

@bundlerbot-bors bundlerbot-bors bot merged commit 7a2509d into master Sep 19, 2018

2 checks passed

bors Build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@deivid-rodriguez

This comment has been minimized.

Contributor

deivid-rodriguez commented Sep 19, 2018

Wowowooooooo! 🎉

@deivid-rodriguez deivid-rodriguez deleted the indirect/homu-to-bors branch Sep 19, 2018

@simi

This comment has been minimized.

Contributor

simi commented Sep 19, 2018

Welcome @bundlerbot-bors!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment