ARROW-2083, we are only running builds related to changed components with each patch in Travis CI and Appveyor.
The problem with this is that when we merge patches to master, our Travis CI configuration (implemented by ASF infra to help alleviate clogged up build queues) is set up to cancel in-progress builds whenever a new commit is merged.
So basically we could have in our timeline:
- Patch merged affecting C++, Python
- Patch merged affecting Java
- Patch merged affecting JS
So when the Java patch is merged, any in-progress C++/Python builds will be cancelled. And if the JS patch comes in, the Java builds would be immediately cancelled.
In light of this I believe on master branch we should always run all of the builds unconditionally