diff --git a/changelog.d/20241017_124915_dawoud.sheraz_sumac.md b/changelog.d/20241017_124915_dawoud.sheraz_sumac.md new file mode 100644 index 0000000000..c9412e1e8b --- /dev/null +++ b/changelog.d/20241017_124915_dawoud.sheraz_sumac.md @@ -0,0 +1 @@ +- 💥[Feature] Upgrade to Sumac. (by @dawoudsheraz) diff --git a/docs/configuration.rst b/docs/configuration.rst index 96133e7902..3524fe4904 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -132,7 +132,7 @@ Open edX customisation This defines the git repository from which you install Open edX platform code. If you run an Open edX fork with custom patches, set this to your own git repository. You may also override this configuration parameter at build time, by providing a ``--build-arg`` option. -- ``OPENEDX_COMMON_VERSION`` (default: ``"open-release/redwood.2"``, or ``master`` in :ref:`nightly `) +- ``OPENEDX_COMMON_VERSION`` (default: ``"release/sumac"``, or ``master`` in :ref:`nightly `) This defines the default version that will be pulled from all Open edX git repositories. @@ -378,9 +378,9 @@ Note that your edx-platform version must be a fork of the latest release **tag** If you don't create your fork from this tag, you *will* have important compatibility issues with other services. In particular: -- Do not try to run a fork from an older (pre-Redwood) version of edx-platform: this will simply not work. +- Do not try to run a fork from an older (pre-Sumac) version of edx-platform: this will simply not work. - Do not try to run a fork from the edx-platform master branch: there is a 99% probability that it will fail. -- Do not try to run a fork from the open-release/redwood.master branch: Tutor will attempt to apply security and bug fix patches that might already be included in the open-release/redwood.master but which were not yet applied to the latest release tag. Patch application will thus fail if you base your fork from the open-release/redwood.master branch. +- Do not try to run a fork from the open-release/sumac.master branch: Tutor will attempt to apply security and bug fix patches that might already be included in the release/sumac but which were not yet applied to the latest release tag. Patch application will thus fail if you base your fork from the release/sumac branch. .. _i18n: diff --git a/docs/dev.rst b/docs/dev.rst index 5095b29c6e..b0cd6bcffe 100644 --- a/docs/dev.rst +++ b/docs/dev.rst @@ -113,7 +113,7 @@ The ``openedx-dev`` Docker image is based on the same ``openedx`` image used by - The user that runs inside the container has the same UID as the user on the host, to avoid permission problems inside mounted volumes (and in particular in the edx-platform repository). - Additional Python and system requirements are installed for convenient debugging: `ipython `__, `ipdb `__, vim, telnet. -- The edx-platform `development requirements `__ are installed. +- The edx-platform `development requirements `__ are installed. If you are using a custom ``openedx`` image, then you will need to rebuild ``openedx-dev`` every time you modify ``openedx``. To so, run:: diff --git a/docs/install.rst b/docs/install.rst index b5d8ccadb3..602621698e 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -123,11 +123,11 @@ Major Open edX releases are published twice a year, in June and December, by the 4. Test the new release in a sandboxed environment. 5. If you are running edx-platform, or some other repository from a custom branch, then you should rebase (and test) your changes on top of the latest release tag (see :ref:`edx_platform_fork`). -The process for upgrading from one major release to the next works similarly to any other upgrade, with the ``launch`` command (see above). The single difference is that if the ``launch`` command detects that your tutor environment was generated with an older release, it will perform a few release-specific upgrade steps. These extra upgrade steps will be performed just once. But they will be ignored if you updated your local environment (for instance: with ``tutor config save``) before running ``launch``. This situation typically occurs if you need to re-build some Docker images (see above). In such a case, you should make use of the ``upgrade`` command. For instance, to upgrade a local installation from Quince to Redwood and rebuild some Docker images, run:: +The process for upgrading from one major release to the next works similarly to any other upgrade, with the ``launch`` command (see above). The single difference is that if the ``launch`` command detects that your tutor environment was generated with an older release, it will perform a few release-specific upgrade steps. These extra upgrade steps will be performed just once. But they will be ignored if you updated your local environment (for instance: with ``tutor config save``) before running ``launch``. This situation typically occurs if you need to re-build some Docker images (see above). In such a case, you should make use of the ``upgrade`` command. For instance, to upgrade a local installation from Redwood to Sumac and rebuild some Docker images, run:: tutor config save tutor images build all # list the images that should be rebuilt here - tutor local upgrade --from=quince + tutor local upgrade --from=redwood tutor local launch @@ -157,6 +157,8 @@ Instructions for installing the appropriate Tutor version for older Open edX rel +-------------------+---------------+--------------------------------------------+ | Redwood | v18 | pip install 'tutor[full]>=18.0.0,<19.0.0' | +-------------------+---------------+--------------------------------------------+ +| Sumac | v19 | pip install 'tutor[full]>=19.0.0,<20.0.0' | ++-------------------+---------------+--------------------------------------------+ .. _autocomplete: diff --git a/docs/reference/indexes.rst b/docs/reference/indexes.rst index 45fff4b3c0..bed46dc3d6 100644 --- a/docs/reference/indexes.rst +++ b/docs/reference/indexes.rst @@ -7,10 +7,10 @@ Plugin indexes are a great way to have your plugins discovered by other users. P Index file paths ================ -A plugin index is a yaml-formatted file. It can be stored on the web or on your computer. In both cases, the index file location must end with "/plugins.yml". For instance, the following are valid index locations if you run the Open edX "Redwood" release: +A plugin index is a yaml-formatted file. It can be stored on the web or on your computer. In both cases, the index file location must end with "/plugins.yml". For instance, the following are valid index locations if you run the Open edX "Sumac" release: -- https://overhang.io/tutor/main/redwood/plugins.yml -- ``/path/to/your/local/index/redwood/plugins.yml`` +- https://overhang.io/tutor/main/sumac/plugins.yml +- ``/path/to/your/local/index/sumac/plugins.yml`` To add either indexes, run the ``tutor plugins index add`` command without the suffix. For instance:: @@ -106,9 +106,9 @@ Manage plugins in development Plugin developers and maintainers often want to install local versions of their plugins. They usually achieve this with ``pip install -e /path/to/tutor-plugin``. We can improve that workflow by creating an index for local plugins:: # Create the plugin index directory - mkdir -p ~/localindex/redwood/ + mkdir -p ~/localindex/sumac/ # Edit the index - vim ~/localindex/redwood/plugins.yml + vim ~/localindex/sumac/plugins.yml Add the following to the index:: diff --git a/docs/tutorials/edx-platform.rst b/docs/tutorials/edx-platform.rst index 125a0cb324..0a66bf6ea4 100644 --- a/docs/tutorials/edx-platform.rst +++ b/docs/tutorials/edx-platform.rst @@ -69,7 +69,7 @@ Quite often, developers don't want to work on edx-platform directly, but on a de cd /my/workspace/edx-ora2 git clone https://github.com/openedx/edx-ora2 . -Then, check out the right version of the package. This is the version that is indicated in the `edx-platform/requirements/edx/base.txt `__. Be careful that the version that is currently in use in your version of edx-platform is **not necessarily the head of the master branch**:: +Then, check out the right version of the package. This is the version that is indicated in the `edx-platform/requirements/edx/base.txt `__. Be careful that the version that is currently in use in your version of edx-platform is **not necessarily the head of the master branch**:: git checkout diff --git a/tests/test_env.py b/tests/test_env.py index e2ba7bbe1d..bd0a3805fe 100644 --- a/tests/test_env.py +++ b/tests/test_env.py @@ -260,7 +260,7 @@ def test_current_version_in_latest_env(self) -> None: ) as f: f.write(__version__) self.assertEqual(__version__, env.current_version(root)) - self.assertEqual("redwood", env.get_env_release(root)) + self.assertEqual("sumac", env.get_env_release(root)) self.assertIsNone(env.should_upgrade_from_release(root)) self.assertTrue(env.is_up_to_date(root)) diff --git a/tutor/__about__.py b/tutor/__about__.py index 773f60ec3b..db08983274 100644 --- a/tutor/__about__.py +++ b/tutor/__about__.py @@ -2,7 +2,7 @@ # Increment this version number to trigger a new release. See # docs/tutor.html#versioning for information on the versioning scheme. -__version__ = "18.1.3" +__version__ = "19.0.0" # 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 @@ -10,7 +10,7 @@ # the nightly branch. # The suffix is cleanly separated from the __version__ in this module to avoid # conflicts when merging branches. -__version_suffix__ = "nightly" +__version_suffix__ = "" # The app name will be used to define the name of the default tutor root and # plugin directory. To avoid conflicts between multiple locally-installed diff --git a/tutor/commands/upgrade/__init__.py b/tutor/commands/upgrade/__init__.py index 44592344a5..789384e609 100644 --- a/tutor/commands/upgrade/__init__.py +++ b/tutor/commands/upgrade/__init__.py @@ -1,4 +1,4 @@ -# Note: don't forget to change this when we upgrade from redwood +# Note: don't forget to change this when we upgrade from sumac OPENEDX_RELEASE_NAMES = [ "ironwood", "juniper", @@ -10,4 +10,5 @@ "palm", "quince", "redwood", + "sumac", ] diff --git a/tutor/commands/upgrade/compose.py b/tutor/commands/upgrade/compose.py index aedbd2159f..2578349c9d 100644 --- a/tutor/commands/upgrade/compose.py +++ b/tutor/commands/upgrade/compose.py @@ -50,6 +50,9 @@ def upgrade_from(context: click.Context, from_release: str) -> None: upgrade_from_quince(context, config) running_release = "redwood" + if running_release == "redwood": + running_release = "sumac" + def upgrade_from_ironwood(context: click.Context, config: Config) -> None: click.echo(fmt.title("Upgrading from Ironwood")) diff --git a/tutor/commands/upgrade/k8s.py b/tutor/commands/upgrade/k8s.py index 6be26096ea..ac6440d2ec 100644 --- a/tutor/commands/upgrade/k8s.py +++ b/tutor/commands/upgrade/k8s.py @@ -49,6 +49,9 @@ def upgrade_from(context: click.Context, from_release: str) -> None: upgrade_from_quince(config) running_release = "redwood" + if running_release == "redwood": + running_release = "sumac" + def upgrade_from_ironwood(config: Config) -> None: upgrade_mongodb(config, "3.4.24", "3.4") diff --git a/tutor/env.py b/tutor/env.py index 8aa510a551..4049e9295a 100644 --- a/tutor/env.py +++ b/tutor/env.py @@ -468,6 +468,7 @@ def get_release(version: str) -> str: "16": "palm", "17": "quince", "18": "redwood", + "19": "sumac", }[version.split(".", maxsplit=1)[0]] diff --git a/tutor/templates/build/openedx/revisions.yml b/tutor/templates/build/openedx/revisions.yml index d30d0cbc0e..0ddb2fc922 100644 --- a/tutor/templates/build/openedx/revisions.yml +++ b/tutor/templates/build/openedx/revisions.yml @@ -1 +1 @@ -EDX_PLATFORM_REVISION: redwood +EDX_PLATFORM_REVISION: sumac