Dan Lowe
Software Engineer
Fundrise is one of the leading real estate investment platforms. Their goal is to use technology to make high-quality real estate investments available to everyone at a low cost. They have invested in more than $7 billion worth of real estate and manage more than $2.8 billion of equity on behalf of more than 300,000 individual investors. As a company, Fundrise has around three hundred employees - and growing.
Make sure every pull request passes the test suite
Automate the coding process
Stop running tests pipeline multiple times
What It Was Like Before Mergify
Fundrise's most significant pain point was that they wanted every pull request to pass tests (unit test, static checks, UI test, etc.) before merging to the development branch.The UI tests must be run on an emulator or a physical device, taking up to 90 minutes to complete the pipeline. This was a source of frustration because they needed to wait for that entire pipeline to complete before merging another pull request.
For Fundrise software engineering teams, manually merging code isn't an interesting task. For instance, when they had pull requests completed and ready to merge, engineers spent too much time trying to hit the merge button or update their pull requests.
The team started looking for a solution that would queue the update and merge actions needed—a merge queue. They found Mergify and a competitor, read some articles about the solution, and looked into building their own homemade solution.
Considering the cost, maintainability, field expertise, and functionalities required, they rejected the idea of building their own tool. After trying most solutions on the market, they chose Mergify because of its customer support, features, and dashboard.
We want to keep engineers engineering. So we tested Mergify and some competitors — and very much prefer Mergify.
Dan Lowe
Software Engineer
Changes Are Welcome
Fundrise customized Mergify to its needs:
The queue feature prevents everybody from trying to hit the merge button simultaneously.
Fundrise enforces a checklist as part of the merge process. They require engineers to ensure code is covered by unit and UI tests.
They automate their workflow with custom Mergify rules such as labeling on conflicts or labeling on queueing. This makes it really helpful for the team, and satisfying to see when a pull request is getting merged.
They also have a do not merge protection label. Indeed, sometimes everything gets reviewed, and they realize there is a problem with something, so they need to stop.
The team knows they can leverage more Mergify features, such as batch merges when throughput needs to be increased in the future.
Just try it and play around to see how customizable Mergify is. It's really exciting to see all the things it can do!
Dan Lowe
Software Engineer
Mergify Impact on Fundrise
With an exponentially growing team, they saw that costs were also following that same trend. Fundrise's UI test costs, the most expensive part of their CI pipeline increased in an unexpected way. While their output doubled, the number of UI tests tripled.
Once they tried and adopted Mergify, they quickly were able to reduce test runs. They were able to cut almost half their CI costs.
Being able to reduce that significantly is astounding for Fundrise.