aspect-build / aspect-build/rules_py

[Idea]: Relative paths not runfiles

Open
#710 1 comment 0 reactions 1 assignee Claimed by @arrdem View on GitHub
Dominant language
Starlark
Stars
145
Forks
97
Avg merge
1d 1h
Merged PRs (30d)
71

Description

An earlier version of `py_venv` relied on using relative paths from the venv to the interpreter's actual root.

We moved away from this because, after the user symlinks a `.venv` dir out of `bazel-bin` or a `.runfiles` tree, the relative path is wrong. However within the `.runfiles` and action time trees, those relative paths are correct.

Now that we have machinery which is extremely careful about dereferencing "just enough" symlinks to get into either 1) a runfile tree or 2) an execroot, it would be more reliable and generally correct to revisit using relative paths from the partially dereferenced interpreter to user's specified interpreter binary.

This lets us ditch the `.runfiles` library code, and support the actions directory layout in a principled way as opposed to what we're doing at present which has proven operationally difficult.

Maybe blocks #703 based on some test failures.

Has consequences for the `uv build` machinery.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.