repositories.bzl should check bazel_version and ensure minimum bazel
aiuto opened this issue · 0 comments
aiuto commented
There is a federation track for each incompatible bazel release.
I believe it is a fair tradeoff to required that the federation tested and working against bazel 1.0.n is restricted to bazel 1.*. The condition I want to prevent is
- user has bazel 0.29.0
- bazel is at bazel 1.0.0
- federation 42.0.0 is tested with bazel 1.0.0 - but it also happens to actually work with bazel 0.29
- user uses federation 42.0.0, and additional rule sets that are not in federation
- federation updates a component and that component now requires bazel 1.0.0. This is now federation 42.1.0.
- user updates to fedeation 42.1.0 but now their code does not work
In federation semantic versioning, it is correct to go to 42.1.0, because we are not changing the advertised features in an incompatible way. But we are changing the unadvertised features, and breaking the user that way.
Implementation thoughts
- We have
native.bazel_version
. Great. - @bazel_skylib has version compare macros. Great.
- Do we make Federation take a dependency on skylib?
- Yes. But I think I want to unwind also having skylib depend on the federation. The development is too hard when they are intertwined.