openedx/wg-devops

Move artifacts outside of edx-platform in Tutor's openedx image

kdmccormick opened this issue · 1 comments

Background

This is a sub-task of openedx-unsupported/wg-developer-experience#146.

The problem: In the openedx image, static assets are collected & compiled into several sub-directories of /openedx/edx-platform/. So, when you mount your own edx-platform, you override all of those static asset folders. Now, tutor dev launch must re-build assets again, which takes a long time and is completely redundant with the assets that you had to download when you downloaded the openedx image. If you forget to do this, then your edx-platform frontend will be broken.

What we want: To generate static assets outside of the /openedx/edx-platform directory so that mounting edx-platform does not overwrite them.

Tasks

  • Figure out how to change where static assets go. This is very hard.
  • Figure out how this interacts with a developer's desire to rebuild assets that they have changed. In other words, as a developer, would tutor dev run --mount=edx-platform openedx-assets build --env=dev work if I wanted to re-run it? They should just rebuild
  • In the Docker image build, move the artifacts out of edx-platform
  • In the Docker image build and in mounted-directories.sh, convert edx-platform artifact dirs into symlnks
  • Triumphantly remove the rest of Tutor's mounted-directories.sh task (the parts that regenerate assets and node_modules and egg-infos)

Notes

No response