The workflow we have currently for synchronizing our downstream forks and CMO with upstream relies heavily on manual intervention. It is also tedious because we tend to bump all projects at the same time which makes it harder to detect regressions and it requires bigger changes than expected in the jsonnet code sometimes.
Current workflow:
Near the end of feature freeze, we create an issue in the CMO repository (https://github.com/openshift/cluster-monitoring-operator/issues/1320 for example) and someone goes through all the downstream projects, verifies whether upstream has a newer version and bumps the downstream fork if so. Then the same person needs to pull all dependencies into kube-pometheus and finally in cluster-monitoring-operator. Overall it can require a dozen of pull requests to have everything up-to-date.
If we are unlucky (or not diligent enough), we miss the feature freeze date and have to bump the components for which the latest version fixes an existing bugzilla (which is additional work to identify).
An improvement would be that instead of using a "Bump all the things" approach, we deal with it on a continuous basis during the development cycle (e.g. outside of feature/code freeze periods). The goal of this ticket is to refine the requirements and investigate a working solution.