-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toolchains on Bazel-CI are outdated #1593
Comments
@davido Can you install your desired version of gcc in the |
But meanwhile, we do need to add |
@davido If we build Bazel with modern gcc version, is it still going to be compatible with older Linux distributions (e.g. older libc versions)? I think that's a major breaking change that would break many users. |
Misunderstanding?
I don't ask to wipe out the CI verification on outdated toolchains. All what I'm saying, is that coverage for the current toolchains is entirely missing on Bazel-CI. And as you know, it's hard to upgrade the external dependencies in Bazel build toolchain. Thus the breakages like: [1] are not detected on Bazel-CI and this is pity. Moreover, because the Bazel maintainers (apparently?) do not have access to new and shiny compiler versions, they cannot easily review/approve toolchain related PRs and this is frustrating. |
Does shell_commands help? You can run whatever command you need to install the toolchains or packages required, for example https://github.com/bazelbuild/continuous-integration/blob/master/pipelines/tensorflow.yml#L14 |
@meteorcloudy I would rather not mess around with trying to install new compiler toolchains on outdated linux distribution versions. I also don't specifically want to add new pipeline for gerrit or other downstream projects using Bazel. I just want to add pipeline for modern toolchain for Bazel itself. Bazel and Gerrit projects have many external dependencies in common, like Alternative suggestion: Fedora project is known to ship newest toolchains. Fedora 39 is shipping:
See also my attempt to through together minimal The toolchain upgrade should be straight forward, once Fedora 40 is released, we could bump it and verify that we can still build Bazel on new and shiny compiler versions... |
I see, sorry for the previous misunderstanding, I think we can do this
|
Done in: #1639.
Done in: #1638 |
Fixes: bazelbuild#1593. Closes: bazelbuild#1639.
In light of recent breakages for new and shiny compiler versions, would it be possible to have experimental CI toolchains with the latest and greatest compiler versions?
Currently there are 3 different gcc compiler versions (only care about Linux here) covered by Bazel-CI: [1]
Current gcc version is 12: [2], that was released almost one year ago: August 19, 2022
and is missing in the above list.
Moreover, some Linux distributions switched to shipping gcc 13 per default: [3]
GCC 13 Stage 4 (starts 2023-01-16)
Given that the major Bazel development dependencies, like abseil-cpp, gRpc and protobuf
are hopelessly outdated (and are hard to upgrade and patch), and are years behind of upstream
the chances are high, that Bazel would have issues building from source on modern toolchains.
Having experimental Bazel-CI coverage on modern toolchains would help to earlier detect and fix
those breakages and/or update development dependencies earlier.
[1] https://buildkite.com/bazel/bazel-bazel-github-presubmit/builds/15498
[2] https://gcc.gnu.org/releases.html
[3] https://gcc.gnu.org/develop.html#timeline
The text was updated successfully, but these errors were encountered: