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

Source repos for editable Pipenv VCS installs are not cached between builds #1527

Closed
edmorley opened this issue Jan 5, 2024 · 0 comments · Fixed by #1528
Closed

Source repos for editable Pipenv VCS installs are not cached between builds #1527

edmorley opened this issue Jan 5, 2024 · 0 comments · Fixed by #1528
Assignees
Labels

Comments

@edmorley
Copy link
Member

edmorley commented Jan 5, 2024

Currently when using Pipenv, the source repository for editable VCS installs defaults to being cloned into the app directory, at /app/src/<repo>.

This directory isn't cached, meaning for repeat builds the repo has to be cloned again from scratch.

In comparison, when using Pip instead of Pipenv, we force the source directory to be created at /app/.heroku/src/<repo> instead, by passing --src when invoking pip install.

We should do the same thing for Pipenv, to speed up builds.

GUS-W-14764812.

@edmorley edmorley added the bug label Jan 5, 2024
@edmorley edmorley self-assigned this Jan 5, 2024
edmorley added a commit that referenced this issue Jan 6, 2024
When installing a VCS dependency in editable mode, the source repository
has to be git cloned somewhere, and that location referenced via a `.pth`
file added to `site-packages`.

Previously, when using Pipenv the default source repository location was used,
which is a `src/` directory inside the current working directory. ie: `/app/src/`.

However, this directory is not preserved/cached across builds, meaning that
on the next Pipenv install the repository has to be cloned from scratch.

Now, the source repository location when using Pipenv has been overridden
to `/app/.heroku/src/`, which is cached, and matches the location used for
Pip projects. This is configured via Pipenv's `--extra-pip-args` feature:
https://pipenv.pypa.io/en/latest/advanced.html#supplying-additional-arguments-to-pip

Lastly, the standard Pip install invocation args have been tweaked to consistently
use quotes and the absolute path.

Fixes #1527.
GUS-W-14764812.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant