@Kyle McCormick : removing github requirements and moving them to PyPI
Working example: Blockstore. Pushed to PyPI with a GH action
In repo: 181 files
In PyPI zip: 60 files
In Olive edx-platform, we have a list of libraries in github.in where we install the entire repo (as of Olive, there are 9 of these)
As of Olive, this includes the Blockstore
Developers don’t always know the benefits of PyPI, and in the middle of an upgrade it’s probably a waste. github.in is meant for temporary things
pip install requirements/edx/base.in on a container that already has everything installed (ie a noop): 55s, the VAST majority of the time being spent on Github cloning and running setup.py
In the latest edx-platform (ie master)
only 3 GH libraries, two of which we expect to be removed shortly
pip install requirements/edx/base.in on a container that already has everything installed (ie a noop): 36s!
We may be able to get down to 25s when we remove everything
[Becca] Q: Was the work mostly just copying over the GH action?
A: In some cases, yes. For Codejail, setup.py was missing a few modules so had to track those down
[Jeremy] Q: 1. Yay! Have we done investigation on wheels vs source distribution?
A: Not yet, but there’s a ticket for it.
[Jeremy] Note: At some point it may make a difference which PyPI mirror you’re using
[Kyle] Also, pruning edx-platform requirements will be another major time save
Tips and tricks
Your Item to Share
Devstack minor fixes
Renamed dev.down make target (Diana), fixed some documentation (Diana), fixing SQL init script (Becca)
Note from Becca: by “fixing” we mean “not including the demo course.” With the split module store, it becomes too tricky to keep everything in the initial sql without having references to mongo that won’t exist on a first provision