bazel-contrib/rules_python

`bazel run` should run in bazel env working directory

Open

#2,679 opened on Mar 18, 2025

View on GitHub
ย (1 comment)ย (0 reactions)ย (0 assignees)Starlarkย (705 forks)auto 404
P4help wanted

Repository metrics

Stars
ย (679 stars)
PR merge metrics
ย (PR metrics pending)

Description

๐Ÿš€ feature request

Relevant Rules

This is meant to change the behavior of py_binary

Description

Currently if you run a binary with bazel run then the working directory will be the sandboxed bazel directory. This behavior is inconsistent with other implementations, for example in rules_go it is set like this https://github.com/bazel-contrib/rules_go/blob/b60f4475e3d97431318da1a0a81752a8884e6994/go/tools/go_bin_runner/main.go#L250

Describe the solution you'd like

bazel run should use the BUILD_WORKING_DIRECTORY environment variable to set the working directory.

Describe alternatives you've considered

You can do this hack where you add --run_under="cd $PWD &&" to the command but it only works on POSIX systems and you basically have to know the trick to have the command do what you might expect

Contributor guide