-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Optimize and reorganize GitHub-hosted dependencies #30719
Conversation
cc6ef59
to
5126a44
Compare
3c4198a
to
05b8885
Compare
05b8885
to
8f07577
Compare
8f07577
to
318fcc0
Compare
They have fallen out of date since we switched from Jenkins- run upgrades to GitHub Actions -run upgrades.
They give the impression that, for example, third-party XBlocks belong in github.in. In reality, GitHub-hosted requirements should be avoided in all circumstances. Third-party XBlocks are best added to base.in as a PyPI-hosted dependency. Furthermore, the existing section headers are not even being followed.
We update github.in to use the proper git-based depencency format specified in the file comment. This format installs a package as a pre-built wheel: git+https://github.com/... instead of a development-mode editable requirement: -e https://github.com/... Installing packages in editable mode increases the amount of time it takes to install edx-platform dependencies, increases the resulting virtual environment's size, and installs packages in a way that has several subtle differences compared to the way wheels are installed: https://setuptools.pypa.io/en/latest/userguide/development_mode.html#limitations
318fcc0
to
02bf6ea
Compare
I would expect the post-pip-compile steps in `make upgrade` to have taken care of chaninging `-e file://...` into `-e .`, but it didn't for some reason. Normally I would debug this, but #30890 is going to merge in a week or two and it will remove `-e .` from the requirement pins entirely, so I'm just going to fix it manually for now.
EdX Release Notice: This PR has been deployed to the staging environment in preparation for a release to production. |
EdX Release Notice: This PR has been deployed to the production environment. |
1 similar comment
EdX Release Notice: This PR has been deployed to the production environment. |
EdX Release Notice: This PR has been rolled back from the production environment. |
Rerverted in #31021 |
EdX Release Notice: This PR has been deployed to the production environment. |
Description
The TL;DR is that this will decrease the amount of time & bandwidth it takes to run
pip install -r requirements/edx/base.txt
and therefore reduce the size and build time of Tutor's openedx image. It will do so by optimizing the pins in github.in and encouraging developers to only add PyPI-hosted dependencies instead of GitHub-hosted ones.For a longer description, see the commits.
Supporting information
None
Testing instructions
If we can run
make upgrade
from this branch, and the result builds, then we're good.Deadline
None
Other information
Follow-up:
Post-merge: Open a new GH issue for turning all these pins into PyPI requirements, and potentially deleting github.in altogether.