Description of the bug:
When building a py_binary with --build_python_zip and bzlmod enabled, the runfiles cannot be correctly resolved.
Things would work if I remove the --build_python_zip option or switch back to the old WORKSPACE style.
I suspect this has something to do with the way bzlmod handle repo mapping.
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
I have a very small example to reproduce the issue: https://github.com/coquelicot/broken-bzlmod-pyzip
Here's the log from my machine:
» bazel run example
INFO: Build option --build_python_zip has changed, discarding analysis cache.
INFO: Analyzed target //:example (0 packages loaded, 539 targets configured).
INFO: Found 1 target...
Target //:example up-to-date:
bazel-bin/example
INFO: Elapsed time: 0.280s, Critical Path: 0.01s
INFO: 4 processes: 4 internal.
INFO: Build completed successfully, 4 total actions
INFO: Running command line: bazel-bin/example
sample
» bazel run --build_python_zip example
INFO: Build option --build_python_zip has changed, discarding analysis cache.
INFO: Analyzed target //:example (0 packages loaded, 539 targets configured).
INFO: Found 1 target...
Target //:example up-to-date:
bazel-bin/example
bazel-bin/example.zip
INFO: Elapsed time: 0.274s, Critical Path: 0.01s
INFO: 4 processes: 3 internal, 1 linux-sandbox.
INFO: Build completed successfully, 4 total actions
INFO: Running command line: bazel-bin/example
Traceback (most recent call last):
File "/tmp/Bazel.runfiles_tuww8rqk/runfiles/_main/example.py", line 11, in <module>
main()
File "/tmp/Bazel.runfiles_tuww8rqk/runfiles/_main/example.py", line 6, in main
with open(path, "r") as fin:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/Bazel.runfiles_tuww8rqk/runfiles/pyzip/data.txt'
Which operating system are you running Bazel on?
linux
What is the output of bazel info release?
release 6.1.1
If bazel info release returns development version or (@non-git), tell us how you built Bazel.
No response
What's the output of git remote get-url origin; git rev-parse master; git rev-parse HEAD ?
No response
Have you found anything relevant by searching the web?
The way runfiles are implemented seems to be different with bzlmod: #16124
Any other information, logs, or outputs that you want to share?
No response
Description of the bug:
When building a py_binary with
--build_python_zipand bzlmod enabled, the runfiles cannot be correctly resolved.Things would work if I remove the
--build_python_zipoption or switch back to the old WORKSPACE style.I suspect this has something to do with the way bzlmod handle repo mapping.
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
I have a very small example to reproduce the issue: https://github.com/coquelicot/broken-bzlmod-pyzip
Here's the log from my machine:
» bazel run example INFO: Build option --build_python_zip has changed, discarding analysis cache. INFO: Analyzed target //:example (0 packages loaded, 539 targets configured). INFO: Found 1 target... Target //:example up-to-date: bazel-bin/example INFO: Elapsed time: 0.280s, Critical Path: 0.01s INFO: 4 processes: 4 internal. INFO: Build completed successfully, 4 total actions INFO: Running command line: bazel-bin/example sampleWhich operating system are you running Bazel on?
linux
What is the output of
bazel info release?release 6.1.1
If
bazel info releasereturnsdevelopment versionor(@non-git), tell us how you built Bazel.No response
What's the output of
git remote get-url origin; git rev-parse master; git rev-parse HEAD?No response
Have you found anything relevant by searching the web?
The way runfiles are implemented seems to be different with bzlmod: #16124
Any other information, logs, or outputs that you want to share?
No response