Company
Date Published
Author
Michael Howell
Word count
1035
Language
English
Hacker News points
None

Summary

Bors-NG is a GitHub app that automates the process of merging pull requests by running automated tests first and then promoting the already-tested merged code to the main branch, preventing merge skew problems where patches work at review time but don't work when they're actually merged because the main branch changed in the meantime. This approach can be beneficial for large open-source projects with complex testing suites, but may not be necessary or even desirable for smaller projects due to operational overhead and potential security risks such as hacking and bot failures. To determine if Bors-NG is right for a project, it's essential to consider factors like test suite speed, determinism, and cross-PR dependencies, and to weigh the benefits against the costs of automation. Alternative approaches, such as manual testing or human-built failure detection, may be more suitable for smaller projects or those with flaky tests. Aviator is another tool that automates merge processes, managing git Pull Requests and continuous integration test runs to help teams avoid broken builds and streamline cumbersome merge processes.