You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It has been a while since Docs-as-Code bazel dependencies have been updated / upgraded.
We should look through and see what is the most recent releases of the things we use that we can import without breaking any downstream consumer or our own repo
Acceptance Criteria (DoD)
Upgrade the bazel imports that are upgradeable without breaking anything downstream or internally.
Go one by one (if possible) to avoid issues with figuring out what caused the non functioning part.
How
Go through MODULE.bazel and see what we can upgrade.
Example:
Current MODULE.bazel has: bazel_dep(name = "aspect_rules_py", version = "1.4.0")
But newest version of aspect_rules_py is 2.2+, so this would be a candidate to try and see if we can upgrade.
@LittleHuba@umaucher do you have any guidance what can / should / must / must-not be updated? As those bazel_dep are propagated. If we stay on old versions, we cannot guarantee compatibility with the new versions and vice versa.
I'm happy to move this to some meeting as well - whichever one you would like 😆
I think the tricky question / problem is here where / how it is used so from a persistency point of view if we stay with the example aspect_rules_py it is only a "implicit" dependency:
but if one of it wants to update it needs to be compatible to all the others since bazel would use "the highest" version in the tree. So maybe updates like this needs to be tested / challenged in the reference integration still most likely tricky to identify all runtime issues? So far in persistency we tried to stay up2date with all deps we defined in our MODULE.bazel but I think this is getting more and more tricky the more "consumers / users" you have.
another discussion IMHO never got really solved is what should be dev_dependencies and what not ... not thought threw but as a brainstorming e.g.
why not having "splitted" modules (score_persistency_impl, score_presistency_docs, score_persistency_tests) otherwise always all the needs for the different topics are implicit injected
where it is getting really really ugly 🤯 : baselibs has a dependency to score_bazel_cpp_toolchains 1.0.4 which is "incompatible" with rules_cc > 0.2.17 so if baselibs updates googletest to 1.18.0 it inherits a "later" rules_cc via:
@LittleHuba@umaucher do you have any guidance what can / should / must / must-not be updated? As those bazel_dep are propagated. If we stay on old versions, we cannot guarantee compatibility with the new versions and vice versa.
I'm happy to move this to some meeting as well - whichever one you would like 😆
Update dev-dependencies whenever you think it helps you (no impact on users of the module).
Update other dependencies only when you need a feature/fix from a later version (Any bump forces all your users to bump to this version or a later one as well).
To ensure compatibility, best use a dependency version checker as we have in communication module. (see workflows there)
@LittleHuba thats an interesting approach, will defintely see how to adopt it! It doesn't quite solve the original question, e.g. we need to update rules_python which will NOT lead to any problems within score, but AFAIK it leads to problems for BMW. According to what you wrote I should just update it, as I need it. But this doesn't quite match reality, does it? Simplest idea would be: if you update a dependency to a new "highest version" within score, then bring that "request" into the alignment meeting. Its not the best approach, but anything is better than pure chaos.
Activity
AlexanderLanin commentedon Sep 1, 2026
we cannot update bazel modules without demand that easily, as they are enforced by bazel to all score users (which use bazel)
AlexanderLanin commentedon Oct 6, 2026
@LittleHuba @umaucher do you have any guidance what can / should / must / must-not be updated? As those bazel_dep are propagated. If we stay on old versions, we cannot guarantee compatibility with the new versions and vice versa.
I'm happy to move this to some meeting as well - whichever one you would like 😆
umaucher commentedon Oct 7, 2026
I think the tricky question / problem is here where / how it is used so from a persistency point of view if we stay with the example
aspect_rules_pyit is only a "implicit" dependency:but if one of it wants to update it needs to be compatible to all the others since bazel would use "the highest" version in the tree. So maybe updates like this needs to be tested / challenged in the reference integration still most likely tricky to identify all runtime issues? So far in persistency we tried to stay up2date with all deps we defined in our MODULE.bazel but I think this is getting more and more tricky the more "consumers / users" you have.
umaucher commentedon Oct 7, 2026
another discussion IMHO never got really solved is what should be dev_dependencies and what not ... not thought threw but as a brainstorming e.g.
umaucher commentedon Oct 7, 2026
where it is getting really really ugly 🤯 : baselibs has a dependency to score_bazel_cpp_toolchains 1.0.4 which is "incompatible" with rules_cc > 0.2.17 so if baselibs updates googletest to 1.18.0 it inherits a "later" rules_cc via:
LittleHuba commentedon Oct 7, 2026
Update dev-dependencies whenever you think it helps you (no impact on users of the module).
Update other dependencies only when you need a feature/fix from a later version (Any bump forces all your users to bump to this version or a later one as well).
To ensure compatibility, best use a dependency version checker as we have in communication module. (see workflows there)
AlexanderLanin commentedon Oct 8, 2026
@LittleHuba thats an interesting approach, will defintely see how to adopt it! It doesn't quite solve the original question, e.g. we need to update rules_python which will NOT lead to any problems within score, but AFAIK it leads to problems for BMW. According to what you wrote I should just update it, as I need it. But this doesn't quite match reality, does it? Simplest idea would be: if you update a dependency to a new "highest version" within score, then bring that "request" into the alignment meeting. Its not the best approach, but anything is better than pure chaos.