-
-
Notifications
You must be signed in to change notification settings - Fork 661
Description
🐞 bug report
Affected Rule
py_runtime is affected.
For example
py_runtime(
name = "hermetic_runtime",
files = ["extracted_toolchain"],
interpreter = "extracted_toolchain",
interpreter_version_info = {
"major": "3",
"minor": "9",
"micro": "21",
},
python_version = "PY3",
visibility = ["//BazArTest/py_toolchain:__pkg__"],
)Is this a regression?
No. It was discovered when upgrading to bazel 9.0.0, however, because @bazel_tools//tools/bash/runfiles is now an alias that uses root_symlinks.
Description
The py_runtime interpreter from the example makes use of runfiles.bash, but if it is only present in the Runfiles.root_symlinks of interpreter / files, then it does not exist in the runfiles directory when executing python actions.
You can see here:
rules_python/python/private/py_runtime_rule.bzl
Lines 54 to 58 in 393dcfd
| runtime_files = depset(transitive = [ | |
| interpreter_di.files, | |
| interpreter_di.default_runfiles.files, | |
| runtime_files, | |
| ]) |
that it does not consider the root_symlinks in the interpreter runfiles.
🔬 Minimal Reproduction
It is pretty involved, so I'm hoping the description makes the issue readily apparent. I can work on a reproducer if that is not the case.
🌍 Your Environment
Operating System:
AlmaLinux 9.7 (Moss Jungle Cat)
Output of bazel version:
Bazelisk version: v1.26.0
INFO: Invocation ID: decd4a2d-e400-43ca-8558-5e818e7da8d1
Build label: 9.0.0
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Tue Jan 20 18:16:47 2026 (1768933007)
Build timestamp: 1768933007
Build timestamp as int: 1768933007
Rules_python version:
bazel_dep(name = "rules_python", version = "1.7.0")