-
Notifications
You must be signed in to change notification settings - Fork 486
Description
This issue is for tracking the items to prepare https://github.com/overhangio/openedx-release-demo for Sumac cutoff.
Sumac cutoff is expected to take place on October 23, 2024. Once the branches are out on upstream, the community will be looking forward to sandbox provided by Edly. tutor and its plugins will require sumac
branches with appropriate changes for the sandbox to complete. The necessary information is already present on https://edlyio.atlassian.net/wiki/spaces/openedx/pages/3013148726/Building+Open+edX+major+releases. A note: once the branches are created, any changes to nightly would need to be manually added to the sumac branch. Therefore, a rebase on nightly whenever nightly changes would be required to ensure the sumac branch is always up-to-date
This issue is meant for tracking the statuses of various repositories needed for sandbox. It will act as a todo list to ensure that tutor and its plugins have sumac branches created from nightly before the cutoff date (even though there will be potential failures on CI against it) and have a PR against master.
For sanity checks, make sure to run image build and init task on local tutor <local/dev> do init --limit=pluginnname
.
The sandbox script expects the branches to be available on the main repository, not the fork. If you are assigned a repository but you cannot push to it directly, please get in touch with @DawoudSheraz or the maintainer of the repository with patch file so that they can create the PR in the appropriate repository with your provided changes
Tutor & Plugins Todo List
Available on launch
- Tutor sumac PR (Upgrade to Sumac #1139 by @DawoudSheraz )
- Is nightly local image build working?
- Is init working?
- tutor-mfe sumac PR (v19.0.0 Upgrade to Sumac tutor-mfe#227 by @hinakhadim )
- Is nightly local image build working?
- Is init working?
- tutor-indigo sumac PR (v19.0.0 Upgrade to sumac tutor-indigo#101 by @hinakhadim )
- Is nightly local image build working?
- Is init working?
Available within a week
- tutor-discovery sumac PR (feat: upgrade to sumac tutor-discovery#87 by @Faraz32123 )
- Is nightly local image build working?
- Is init working?
- tutor-ecommerce sumac PR (feat: upgrade to sumac tutor-ecommerce#84 by @Faraz32123 )
- Is nightly local image build working?
- Is init working?
- tutor-credentials sumac PR (Upgrade to Sumac tutor-credentials#49 by @Faraz32123 )
- Is nightly local image build working?
- Is init working?
- tutor-forums sumac PR (feat: upgrade to sumac tutor-forum#49 by @ghassanmas )
- Is nightly local image build working?
- Is init working?
- tutor-notes sumac PR (Upgrade to Sumac tutor-notes#41 by @jfavellar90 )
- Is nightly local image build working?
- Is init working?
- tutor-xqueue sumac PR (Upgrade to Sumac tutor-xqueue#34 by @jfavellar90 )
- Is nightly local image build working?
- Is init working?
- tutor-jupyter sumac PR (v19.0.0 Upgrade to sumac tutor-jupyter#15 by @Abdul-Muqadim-Arbisoft )
- Is nightly local image build working?
- Is init working?
- tutor-minio sumac PR (Upgrade to Sumac tutor-minio#51 by @Faraz32123 )
- Is init working?
- tutor-webui sumac PR (v19.0.0 Upgrade to sumac tutor-webui#19 by @Abdul-Muqadim-Arbisoft & @hinakhadim)
- Is nightly local image build working?
- Is init working?
- tutor-android sumac PR (v19.0.0 Upgrade to sumac tutor-android#28 by @muhammadali286 & @Abdul-Muqadim-Arbisoft)
- Is nightly local image build working?
- Is init working?
- tutor-contrib-codejail PR (feat: sumac upgrade eduNEXT/tutor-contrib-codejail#59 by @MoisesGSalas)
- Is nightly local image build working?
- Is init working?
- tutor-contrib-aspects v1.2.0
Not needed for sandbox
- tutor-cairn sumac PR (https://github.com/overhangio/tutor-cairn/pull/47/files by @Danyal-Faheem )
- Is nightly local image build working?
- Is init working?
Sandbox Repo Todo List
- sumac preparation PR (chore: prepare for sumac cutoff openedx-release-demo#61 by @DawoudSheraz )
- Enable forum feat: enable forum openedx-release-demo#62
- Enable some of the remaining plugins chore: enable more plugins for Sumac openedx-release-demo#63
- Enable the last set of plugins chore: enable last set of plugins for Sumac openedx-release-demo#64
Context
Every six months, Tutor maintainers sync up with the Build/Test/Release working group to create the next version, both of Open edX and Tutor.
In the scenario below, we are upgrading Open edX from fictional “Delta” to “Epsilon”. Tutor will upgrade from v4 to v5 (“d”=4, “e”=5).
(these instructions are pulled and adapted from this old discussion topic)
Create release branches
In Tutor core and all plugins, we must create “epsilon” branches off of the nightly branches. For each repo, this looks like the following:
git checkout nightly
git pull
git checkout -b epsilon
Push the created “epsilon” branch to the upstream repo: git push
Upgrade Tutor core and plugins
- Modify about.py:
- bump the version number to 5.0.0.
- in Tutor core, set the version_suffix to an empty string.
- In plugins’ setup.py, bump the version of the “tutor” package that the plugin depends on:
install_requires=["tutor>=5.0.0,<6.0.0"],
extras_require={"dev": ["tutor[dev]>=5.0.0,<6.0.0"]},
- Create a changelog entry with make changelog-entry: "💥[Feature] Upgrade to Epsilon. (by @YourGithubUsername)"
- Replace all instances of “[dD]elta” that make sense (i.e: not in the CHANGELOG.md!)
- Go through the Dockerfile templates and manually upgrade all the 3rd-party requirements that you can find (dockerize, ipdb, etc.). Sometimes it’s not desirable to upgrade some pieces of software: for instance node and python are expected to run a specific version. Those required version numbers are specified in the edx/configuration 5 repo. (look for SERVICENAME_VERSION variables)
- Make sure that the plugin images (if any) are built correctly: tutor images build all.
- Make sure that the plugin can be correctly initialized: tutor local do init --limit=pluginnname.
- If you need to make some changes to the docker-compose*.yml files and patches, make sure to backport these changes to the k8s-* patches, for compatibility with Kubernetes.
- Make sure that the plugins work correctly by doing some basic usage testing. Pay close attention to any log (warning or error) that come out of the plugin containers as well as the lms container.
- git commit -a -m v5.0.0
- Push the created “epsilon” branch to the upstream repo: git push
The release branches should be updated regularly to take into account the latest changes from the nightly branch. During the release process, it is frequent that changes are pushed to the master and nightly branches, and the latest “espilon” branch must have those changes as well. Be prepared to push --force the “espsilon” branches frequently.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status