Robert Ramey wrote:
It's not that I'm against doing the "integration testing" at all. I recognize that this needs to be done from time to time - presumably soon before a new release is shipped.
No, it needs to be done continuously. Allow me to repeat for context:
- work that has passed local tests goes into a feature branch - feature branches that have passed CI go into develop - develop that has not broken anything goes into master
The point of not using develop for provisional changes is exactly to enable other libraries to use it without breaking all the time. Provisional changes, under this model, go into feature branches. Once they are no longer provisional, they go into develop. Under this model of development, develop is as stable as master would have been otherwise. Of course, if one of your dependent libraries does not use this model, and "provisions" directly into develop, it makes things harder for you, because develop breaks all the time. And conversely, if you "provision" directly into develop, you make things harder for your dependencies.