edx-platform
edx-platform copied to clipboard
Build edx-platform assets without Python
Background
Overlaps with:
- https://github.com/openedx/edx-platform/blob/master/docs/decisions/0017-reimplement-asset-processing.rst
- https://github.com/openedx/edx-platform/issues/31895
Goal
edx-platform's static assets can be built without installing a Python interpreter or any Python packages.
Benefits:
- Better staged image builds: When building a container image for edx-platform, the build stage for assets will not need to install any Python requirements or copy in Python code. Thus, the asset build cache will not be broken due to changes to Python or Python requirements lists.
- Saner tooling: Dropping our deprecated and/or bespoke Python frontend tools in favor of simpler, modern JS-based or shell-based tools makes the platform's build process easier to understand and maintain.
Tasks
- [ ] https://github.com/openedx/edx-platform/issues/31604
- [ ] https://github.com/openedx/edx-platform/issues/32292
- [ ] https://github.com/openedx/edx-platform/issues/32481
- [ ] https://github.com/openedx/edx-platform/pull/34439
- [ ] Switch from libsass-python to sassc
- [ ] Rewrite compile_sass.py as compile_sassh.sh
- [ ] In Tutor: Compile Sass before setting up Python