Open matthewkmayer opened 4 years ago
https://martinfowler.com/bliki/ContinuousIntegrationCertification.html is another good source to cite, especially:
The problem of CI theater leads some people to use the name Trunk-Based Development, arguing that SemanticDiffusion has rendered the term “Continuous Integration” useless. While I understand their view, I believe that we shouldn’t give in to semantic diffusion, instead we need to keep working at re-explaining the proper meaning of Continuous Integration, just as we should with other terms under this kind of semantic assault (such as “agile” and “refactoring”). After all Kent was quite clear in his definition of the term, and using another diminishes the important role he had in popularizing the technique via the Extreme Programming community.
bors is a tool that prevents semantic conflicts by running a build pipeline as if the requested change was merged.
Write an essay on if this fits continuous integration or not. See CI Theater for definitions, patterns and antipatterns.
Initial thoughts:
bors
by itself does not enable continuous integration because it doesn't force continuously integrating work back into the main branch. Like all build systems, it can be used as such, but it's easy to fall into the same style of trap where automated build/test is confused with continuous integration.Also cover TravisCI's speculative mergability analysis: