servo / homu

A bot that integrates with GitHub and your favorite continuous integration service
MIT License
329 stars 48 forks source link

pre-commit hooks on merge #161

Open Eh2406 opened 6 years ago

Eh2406 commented 6 years ago

Cargo just stopped using rustfmt in travis, it was just too annoying to keep up with. I was thinking of building a bot that submitted PR's when cargo +stable fmt had changes. But we already have a bot, can homu just run fmt and amend its merge commits?

nox commented 6 years ago

Seems more like a job for highfive, if it needs to happen on push.

nox commented 6 years ago

Oops, didn't mean to close, sorry.

Eh2406 commented 6 years ago

The goal is:

Well the workflow I imagine is:

Alis is new to the project and rust tooling. She clones the master branch of the project. She makes some changes. She accidentally gets rls to format it. The master branch of the project uses fmt so only her changes get formatted. Next in the revue some changes are requested. She makes the changes over the course of several tentative commits. None of those CI runs are wasted on "CI is red because you did not run fmt." No one needs to explain what fmt is nore how to use it. When the reviewer is satisfied homu merges the PR, to ensure the master branch of the project uses fmt homu runs cargo fmt on the merge before committing/testing/pushing.

Also I don't think highfive is set up to make commits.