6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2025-01-10 00:37:54 +00:00

docs: improve the "Working on edx-platform Python dependencies" section (#1048)

This commit is contained in:
Braden MacDonald 2024-04-25 23:12:41 -07:00 committed by GitHub
parent e6cb076038
commit 943bee6cbe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 12 deletions

View File

@ -0,0 +1 @@
- [Improvement] Auto-detect bind mounts of openedx-learning for edx-platform (by @bradenmacdonald)

View File

@ -100,6 +100,8 @@ Verify that your repository is properly bind-mounted by running ``tutor mounts l
- service: cms-job
container_path: /mnt/edx-ora2
(If the ``_mounts`` entries are empty, it didn't work automatically - see below.)
You should then re-build the "openedx" Docker image to pick up your changes::
tutor images build openedx-dev
@ -111,6 +113,18 @@ To push your changes in production, you should do the same with ``tutor local``
tutor images build openedx
tutor local start -d
What if my edx-platform package is not automatically bind-mounted?
------------------------------------------------------------------
It is quite possible that your package is not automatically recognized and bind-mounted by Tutor. Out of the box, Tutor defines a set of regular expressions: if your package name matches this regular expression, it will be automatically bind-mounted. But if it does not, you have to tell Tutor about it.
To do so, you will need to create a :ref:`Tutor plugin <plugin_development_tutorial>` that implements the :py:data:`tutor.hooks.Filters.MOUNTED_DIRECTORIES` filter::
from tutor import hooks
hooks.Filters.MOUNTED_DIRECTORIES.add_item(("openedx", "my-package"))
After you implement and enable that plugin, ``tutor mounts list`` should display your directory among the bind-mounted directories.
Debugging with breakpoints
--------------------------
@ -153,18 +167,6 @@ Then, run unit tests with ``pytest`` commands::
.. note::
Getting all edx-platform unit tests to pass on Tutor is currently a work-in-progress. Some unit tests are still failing. If you manage to fix some of these, please report your findings in the `Open edX forum <https://discuss.openedx.org/tag/tutor>`__.
What if my edx-platform package is not automatically bind-mounted?
------------------------------------------------------------------
It is quite possible that your package is not automatically recognized and bind-mounted by Tutor. Out of the box, Tutor defines a set of regular expressions: if your package name matches this regular expression, it will be automatically bind-mounted. But if it does not, you have to tell Tutor about it.
To do so, you will need to create a :ref:`Tutor plugin <plugin_development_tutorial>` that implements the :py:data:`tutor.hooks.Filters.MOUNTED_DIRECTORIES` filter::
from tutor import hooks
hooks.Filters.MOUNTED_DIRECTORIES.add_item(("openedx", "my-package"))
After you implement and enable that plugin, ``tutor mounts list`` should display your directory among the bind-mounted directories.
Do I have to re-build the "openedx" Docker image after every change?
--------------------------------------------------------------------

View File

@ -65,6 +65,7 @@ hooks.Filters.MOUNTED_DIRECTORIES.add_items(
("openedx", "edx-enterprise"),
("openedx", "edx-ora2"),
("openedx", "edx-search"),
("openedx", "openedx-learning"),
("openedx", r"platform-plugin-.*"),
]
)