Skip to content
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

[FR]: Remove need for runfiles directory to be writable #339

Open
jsharpe opened this issue May 8, 2024 · 3 comments
Open

[FR]: Remove need for runfiles directory to be writable #339

jsharpe opened this issue May 8, 2024 · 3 comments
Labels
enhancement New feature or request untriaged Requires traige

Comments

@jsharpe
Copy link

jsharpe commented May 8, 2024

What is the current behavior?

The venv is recreated whenever the binary is executed. This prevents packaging up the binary and installing it to a system outside of bazel as an application deployment that can be run by other users from a common directory e.g. an /apps directory, possibly served read-only over nfs or similar.

Describe the feature

I would like either for the venv creation to fallback to a user writable location e.g. XDG_CACHE or to remove the need to recreate the venv links so it can be done once by an admin user and then subsequent users can just execute from the precreated venv.

@jsharpe jsharpe added the enhancement New feature or request label May 8, 2024
@github-actions github-actions bot added the untriaged Requires traige label May 8, 2024
@jsharpe
Copy link
Author

jsharpe commented May 8, 2024

Another place where this could be used is in an immutable container - the container is built and then at execution time the container image is made immutable and so writing to the runfiles directory would potentially not be possible in this case too.

@jsharpe
Copy link
Author

jsharpe commented May 8, 2024

Also the current behaviour would prevent multiple copies of a binary running at the same time since it would delete files being used by the first process on the execution of the second process.

@voxeljorge
Copy link

We've run into this issue with when running py_binary targets from this ruleset in an immutable environment. One example is when running code in a os-only aws lambda runtime, the lambda is unpacked in an immutable env and the py_binary fails to run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request untriaged Requires traige
Projects
None yet
Development

No branches or pull requests

2 participants