The problem is PRs / CI tooling. They treat a repo as an independent project, but...:
- A change needs to be able to span multiple repos
- ...or you need a way of expressing dependencies between changes in multiple repos
- ...and you need to be able to block changes to dependencies that should be non-breaking but aren't.
Zuul CI solved a lot of these kind of problems for the Openstack project but I've personally found it a bitch to setup. Lots of good ideas in it though.