Skip to content

Commit

Permalink
goodbye "edge" hello "nightly"!
Browse files Browse the repository at this point in the history
In conversations with edX, we learned that the name "edge" had negative
undertones for historical reasons. Thus, we switch to "nightly", which means
pretty much the same thing.
  • Loading branch information
regisb committed Oct 14, 2021
1 parent 4dd0fb6 commit 33ca30d
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 64 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Sync with private repo

on:
push:
branches: [ master, edge ]
branches: [ master, nightly ]

jobs:
sync:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Run tests

on:
push:
branches: [ master, edge ]
branches: [ master, nightly ]
pull_request:
branches: [ master, edge ]
branches: [ master, nightly ]

jobs:
tests:
Expand Down
2 changes: 1 addition & 1 deletion docs/tutor.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ When making a new Tutor release, increment the:
- MAJOR version when making a backward-incompatible change (prefixed by "💥" in the changelog, as explained below).
- MINOR version when making a backward-compatible change.

An optional BRANCH suffix may be appended to the release name to indicate that extra changes were added on top of the latest release. For instance, "x.y.z-edge" corresponds to release x.y.z on top of which extra changes were added to make it compatible with the Open edX master branches (see the :ref:`tutorial on running Tutor Edge <edge>`).
An optional BRANCH suffix may be appended to the release name to indicate that extra changes were added on top of the latest release. For instance, "x.y.z-nightly" corresponds to release x.y.z on top of which extra changes were added to make it compatible with the Open edX master branches (see the :ref:`tutorial on running Tutor Nightly <nightly>`).

`Officially-supported plugins <https://overhang.io/tutor/plugins>`__ follow the same versioning pattern. As a third-party plugin developer, you are encouraged to use the same pattern to make it immediately clear to your end-users which Open edX versions are supported.

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Open edX customization

tutorials/theming
tutorials/edx-platform-settings
tutorials/edge
tutorials/nightly

System administration
---------------------
Expand Down
57 changes: 0 additions & 57 deletions docs/tutorials/edge.rst

This file was deleted.

57 changes: 57 additions & 0 deletions docs/tutorials/nightly.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
.. _nightly:

Running Open edX on the master branch ("nightly")
=================================================

Tutor was designed to make it easy for everyone to run the latest release of Open edX. But sometimes, you want to run the latest, bleeding edge version of Open edX. This is what we call "running master", as opposed to running the release branch. Running the master branch in production is strongly **not** recommended, unless you are an Open edX expert and you really know what you are doing. But Open edX developers frequently need to run the master branch locally to implement and test new features. Thus, Tutor makes it easy to run Open edX on the master branch: this is called "Tutor Nightly".

Installing Tutor Nightly
------------------------

Running Tutor Nightly requires more than setting a few configuration variables: because there are so many Open edX settings, version numbers, etc. which may change between the latest release and the current master branch, Tutor Nightly is actually maintained as a separate branch of the Tutor repository. To install Tutor Nightly, you should install Tutor from the "nightly" branch of the source repository. To do so, run::

git clone --branch=nightly https://github.com/overhangio/tutor.git
pip install -e ./tutor

As usual, it is strongly recommended to run the command above in a `Python virtual environment <https://docs.python.org/3/tutorial/venv.html>`__.

All Tutor plugins that you wish to use should likewise be installed from the "nightly branch". For instance, the `MFE plugin <https://github.com/overhangio/tutor-mfe>`__::

git clone --branch=nightly https://github.com/overhangio/tutor-mfe.git
pip install -e ./tutor-mfe

You can then run the usual ``tutor`` commands ::

tutor local quickstart
tutor local stop
tutor dev runserver lms
# ...

Upgrading to the latest version of Open edX
-------------------------------------------

To pull the latest upstream changes, you should first upgrade Tutor Nightly::

cd ./tutor
git pull

Then, you will have to generate a more recent version of the nightly Docker images. Images for running Tutor Nightly are published daily to docker.io (see `here <https://hub.docker.com/r/overhangio/openedx/tags?page=1&ordering=last_updated&name=nightly>`__). You can fetch the latest images with::

tutor images pull all

Alternatively, you may want to build the images yourself. As usual, this is done with::

tutor images build all

However, these images include the application master branch at the point in time when the image was built. The Docker layer caching mechanism might cause the ``git clone`` step from the build to be skipped. In such cases, you will have to bypass the caching mechanism with::

tutor images build --no-cache all

Running Tutor Nightly alongside the latest release
--------------------------------------------------

When running Tutor Nightly, you usually do not want to override your existing Tutor installation. That's why a Tutor Nightly installation has the following differences from a regular release installation:

- The default Tutor project root is different in Tutor Nightly. By default it is set to ``~/.local/share/tutor-nightly`` on Linux (instead of ``~/.local/share/tutor``). To modify this location check the :ref:`corresponding documentation <tutor_root>`.
- The plugins root is set to ``~/.local/share/tutor-nightly-plugins`` on Linux (instead of ``~/.local/share/tutor-plugins``). This location may be modified by setting the ``TUTOR_PLUGINS_ROOT`` environment variable.
- The default docker-compose project name is set to ``tutor_nightly_local`` (instead of ``tutor_local``). This value may be modified by manually setting the ``LOCAL_PROJECT_NAME``.
4 changes: 2 additions & 2 deletions tutor/__about__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

# The version suffix will be appended to the actual version, separated by a
# dash. Use this suffix to differentiate between the actual released version and
# the versions from other branches. For instance: set the suffix to "edge" in
# the edge branch.
# the versions from other branches. For instance: set the suffix to "nightly" in
# the nightly branch.
# The suffix is cleanly separated from the __version__ in this module to avoid
# conflicts when merging branches.
__version_suffix__ = ""
Expand Down

0 comments on commit 33ca30d

Please sign in to comment.