-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: add patches to compile and enable themes (#5)
* fix: add patches to compile and enable themes * fix: add dependencies compilation * docs: update the readme * test: add more tests in integration test * fix: use TUTOR_VERSION instead of PICASSO_TUTOR_VERSION to maintain compatibility
- Loading branch information
Showing
9 changed files
with
118 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,7 +33,9 @@ jobs: | |
- name: Adding data to the config.yml | ||
run: | | ||
TUTOR_VERSION=$(tutor --version | awk '{print $NF}') | ||
cat <<EOF >> config.yml | ||
TUTOR_VERSION: $TUTOR_VERSION | ||
PICASSO_MANAGE_DPKG: | ||
name: eox-manage | ||
repo: [email protected]:eduNEXT/eox-manage.git | ||
|
@@ -42,6 +44,13 @@ jobs: | |
- name: endx-saas-themes | ||
repo: [email protected]:eduNEXT/ednx-saas-themes.git | ||
version: master | ||
PICASSO_THEME_DIRS: | ||
- /openedx/themes/ednx-saas-themes/edx-platform | ||
- /openedx/themes/ednx-saas-themes/edx-platform/bragi-generator | ||
- /openedx/themes/ednx-saas-themes/edx-platform/bragi-children | ||
PICASSO_THEMES_NAME: | ||
- bragi | ||
- css-runtime | ||
PICASSO_EXTRA_COMMANDS: | ||
- tutor plugins update | ||
- tutor plugins index add https://raw.githubusercontent.com/eduNEXT/tutor-plugin-indexes/picasso_test/ | ||
|
@@ -58,6 +67,27 @@ jobs: | |
run: | | ||
TUTOR_ROOT="$(pwd)" tutor picasso enable-themes | ||
if grep -q 'bragi' env/build/openedx/Dockerfile; then | ||
echo "'bragi' found in env/build/openedx/Dockerfile." | ||
else | ||
echo "'bragi' not found for the building process." | ||
exit 1 | ||
fi | ||
if grep -q '/openedx/themes/ednx-saas-themes/edx-platform' env/build/openedx/Dockerfile; then | ||
echo "'/openedx/themes/ednx-saas-themes/edx-platform' found in env/build/openedx/Dockerfile." | ||
else | ||
echo "'/openedx/themes/ednx-saas-themes/edx-platform' not found for the building process." | ||
exit 1 | ||
fi | ||
if grep -q 'ENABLE_COMPREHENSIVE_THEMING = True' env/apps/openedx/settings/lms/production.py; then | ||
echo "'ENABLE_COMPREHENSIVE_THEMING = True' found in env/apps/openedx/settings/lms/production.py." | ||
else | ||
echo "'ENABLE_COMPREHENSIVE_THEMING = True' not found in env/apps/openedx/settings/lms/production.py." | ||
exit 1 | ||
fi | ||
- name: Check enable-private-packages | ||
run: | | ||
TUTOR_ROOT="$(pwd)" tutor picasso enable-private-packages | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -104,18 +104,27 @@ To enable themes in your Tutor environment, follow these steps: | |
1. Add the necessary configuration in your Tutor environment's ``config.yml`` file: | ||
|
||
.. code-block:: yaml | ||
TUTOR_VERSION: <the version of the tutor your installation used. e.g., v18.1.1> | ||
PICASSO_THEMES: | ||
- name: <your_theme_name> | ||
- name: <your_theme_repository> | ||
repo: <your SSH URL for cloning the repo. e.g., [email protected]:yourorg/theme.git> | ||
version: <your branch, tag o release for cloning. e.g., edunext/redwood.master> | ||
- name: <another_theme_name> | ||
- name: <another_theme_repository> | ||
repo: <your SSH URL for cloning the repo. e.g., [email protected]:yourorg/another_theme.git> | ||
version: <your branch, tag o release for cloning. e.g., edunext/redwood.blue> | ||
PICASSO_THEMES_NAME: | ||
- <your theme name. e.g., bragi> | ||
- <another theme name. e.g., pearson-theme> | ||
PICASSO_THEME_DIRS: | ||
- <the directory where you store your themes. e.g., /openedx/themes/ednx-saas-themes/edx-platform> | ||
- <another directory where you store your themes. e.g., /openedx/themes/openedx-themes/edx-platform> | ||
**Note:** If your theme repository is public, you can also use the HTTPS URL in ``repo``. | ||
|
||
**Note:** The ``PICASSO_THEMES``, ``PICASSO_THEME_DIRS`` and ``PICASSO_THEMES_NAME`` variables are lists and can have one or more elements. | ||
|
||
2. Save the configuration with ``tutor config save`` | ||
|
||
3. Run the enable command | ||
|
@@ -125,7 +134,15 @@ To enable themes in your Tutor environment, follow these steps: | |
# Enable themes | ||
tutor picasso enable-themes | ||
This command clones your theme repository into the folder that Tutor uses for themes. Documentation available at `Installing custom theme`_ tutorial. | ||
This command will clone your theme repository into the folder that Tutor uses for themes. You can find the documentation in the `Installing custom theme`_ tutorial. | ||
|
||
If ``PICASSO_THEMES`` is defined, the plugin will set ``ENABLE_COMPREHENSIVE_THEMING = True``. | ||
|
||
If ``PICASSO_THEME_DIRS`` is defined, the plugin will extend the ``COMPREHENSIVE_THEME_DIRS`` by patches. | ||
|
||
The ``TUTOR_VERSION``, ``PICASSO_THEME_DIRS`` and ``PICASSO_THEMES_NAME`` variables are used to compile the themes. For detailed information, see the patch `openedx-dockerfile-pre-assets <tutorpicasso/patches/openedx-dockerfile-pre-assets>`_. | ||
|
||
You can set the ``PICASSO_DEFAULT_SITE_THEME`` (optional), which will be in ``DEFAULT_SITE_THEME``; if not, we will use the first element in ``PICASSO_THEMES_NAME``. | ||
|
||
**Note:** Don't forget to add extra configurations in a Tutor plugin if your theme requires it. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{%- if PICASSO_DEFAULT_SITE_THEME is defined or PICASSO_THEMES_NAME is defined %} | ||
DEFAULT_SITE_THEME: "{{ PICASSO_DEFAULT_SITE_THEME | default(PICASSO_THEMES_NAME[0]) }}" | ||
{% endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{%- if PICASSO_DEFAULT_SITE_THEME is defined or PICASSO_THEMES_NAME is defined %} | ||
DEFAULT_SITE_THEME: "{{ PICASSO_DEFAULT_SITE_THEME | default(PICASSO_THEMES_NAME[0]) }}" | ||
{% endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{% if PICASSO_THEMES is defined -%} | ||
ENABLE_COMPREHENSIVE_THEMING = True | ||
{%- endif %} | ||
{% if PICASSO_THEME_DIRS is defined -%} | ||
COMPREHENSIVE_THEME_DIRS.extend({{ PICASSO_THEME_DIRS }}) | ||
{%- endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{%- if PICASSO_THEME_DIRS is defined %} | ||
COMPREHENSIVE_THEME_DIRS.extend({{ PICASSO_THEME_DIRS }}) | ||
{%- endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{% if PICASSO_THEMES is defined -%} | ||
ENABLE_COMPREHENSIVE_THEMING = True | ||
{%- endif %} | ||
{%- if PICASSO_THEME_DIRS is defined %} | ||
COMPREHENSIVE_THEME_DIRS.extend({{ PICASSO_THEME_DIRS }}) | ||
{%- endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
{% if TUTOR_VERSION is defined and PICASSO_THEME_DIRS is defined and PICASSO_THEMES_NAME is defined %} | ||
{% set redwood_version = 'v18.0.0'.lstrip('v').split('.') %} | ||
{% set current_version = TUTOR_VERSION.lstrip('v').split('.') %} | ||
{% set redwood_version = redwood_version | map('int') | list %} | ||
{% set current_version = current_version | map('int') | list %} | ||
|
||
COPY --chown=app:app ./themes/ /openedx/themes | ||
{% if (current_version[0] < redwood_version[0]) %} | ||
# This compiles the Picasso themes assets in the releases < redwood. | ||
|
||
# These commands are already in the Dockerfile Tutor template, | ||
# but we needed them for the Picasso themes compilation. | ||
ENV NO_PYTHON_UNINSTALL 1 | ||
ENV NO_PREREQ_INSTALL 1 | ||
RUN openedx-assets xmodule \ | ||
&& openedx-assets npm \ | ||
&& openedx-assets webpack --env=prod \ | ||
&& openedx-assets common | ||
# Compiling the Picasso themes. | ||
RUN openedx-assets themes \ | ||
--theme-dirs {{ PICASSO_THEME_DIRS | join(' ') }} \ | ||
--themes {{ PICASSO_THEMES_NAME | join(' ') }} \ | ||
&& openedx-assets collect --settings=tutor.assets \ | ||
&& rdfind -makesymlinks true -followsymlinks true /openedx/staticfiles/ | ||
{% else %} | ||
# This compiles the Picasso themes assets from the redwood release. | ||
|
||
# These commands are already in the Dockerfile Tutor template, | ||
# but we needed them for the Picasso themes compilation. | ||
RUN npm run postinstall | ||
RUN npm run compile-sass -- --skip-themes | ||
RUN npm run webpack | ||
# Compiling the Picasso themes. | ||
RUN npm run compile-sass -- \ | ||
--theme-dir {{ PICASSO_THEME_DIRS | join(' --theme-dir ') }} \ | ||
--theme {{ PICASSO_THEMES_NAME | join(' --theme ') }} \ | ||
&& ./manage.py lms collectstatic --noinput --settings=tutor.assets \ | ||
&& rdfind -makesymlinks true -followsymlinks true /openedx/staticfiles/ | ||
{% endif %} | ||
{% endif %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
{% if PICASSO_THEMES is defined -%} | ||
ENABLE_COMPREHENSIVE_THEMING = True | ||
{%- endif %} | ||
{% if PICASSO_THEME_DIRS is defined -%} | ||
COMPREHENSIVE_THEME_DIRS.extend({{ PICASSO_THEME_DIRS }}) | ||
{%- endif %} |