At Rainforest, we think we have a pretty ideal deploy process. But we've always been missing one thing: being able to easily test pull requests without a lot of hassle. So we built Fourchette!
We religiously do code reviews, and we've seen it's a very common use-case: while reviewing someone else's code, you have to checkout the branch, run any database migrations and restart your local env just to be able to play with their code running.
Fourchette is automated isolated testing environments to make this trivial.
We are huge fans and users of Heroku, so Fourchette creates a fork of our QA environment for every new Pull Request.
Whenever a PR is created, we create a copy of our QA environment, including addons and a copy of your Postgres database if you happen to use that. Fourchette then posts the URL to your new isolated testing environment as a comment in the PR. It's then super easy for anyone to try the new code.
It's that simple and pretty awesome! We have been using it for months now and loving it.
We made Fourchette open source, which means you can start using it today, for free! The code is hosted on GitHub, so feel free to fork it and contribute to it.
That's really easy, and everything is in the README. Basically, you just install Fourchette, run a command and it generates a new Fourchette app that you can host on Heroku. You'll need to configure a few things like API keys and the app to fork, but that's about it! Simple, right?
You can also easily add before and after steps to customize your needs. If you want an example app, you can look at our own Fourchette app.
I hope you'll like Fourchette as much as we do! Fork it and contribute back if so. Also, Fourchette was written over several Open Source Fridays at Rainforest - if you'd like to work on this kind of stuff, we're hiring :)